首页 > 解决方案 > 如何以组合形式 C++ 打印此表?

问题描述

我需要打印这张表

2
0
4 2
3 3
6 4 2
6 6 6
8 6 4 2
9 9 9 9

我为以下结果编写了此代码

#include <iostream>
using namespace std;

int main(){
    const int N = 9; 
    for(int i = 0; i <= N; i += 3){   
        for (int j = 0; j <= i; j +=3) {
            cout << i << " ";  
        }       
        cout << endl; 
    }
    cout << "\n";
    for(int i = 2; i <= N; i += 2){    
        for (int j = i; j > 0; j -= 2) {
            cout << j  << " ";    
        }         
        cout << endl; 
    }
    return 0;
}

我的结果:

0
3 3
6 6 6
9 9 9 9

2
4 2
6 4 2
8 6 4 2

要求的结果:

2
0
4 2
3 3
6 4 2
6 6 6
8 6 4 2
9 9 9 9

标签: c++c++11sequencetabular

解决方案


#include <iostream>
using namespace std;

int main(){
    const auto n = 4;
    auto count = 0;
    for (auto i = 2; i <= n * 2; i += 2)
    {
        for (auto j = i; j > 0; j -= 2)
            std::cout << j << " ";
        std::cout << std::endl;
        for (auto j = 0; j < (i == 2 ? i : i + 2); j += 3)
            std::cout << count * 3 << " ";
        ++count;
        std::cout << std::endl;
    }


  return 0;
}

编辑:更正...

有点接近答案
2
0 ==> true
4 2
0 3 ==> 应该是 3 3
6 4 2
0 3 6 ==> 应该是 6 6 6
8 6 4 2
0 3 6 ==> 应该是 9 9 9


推荐阅读