如何在for循环中写入此表?

时间:2018-10-06 18:05:37

标签: c++ loops for-loop

所需的输出:

2
4 2
6 4 2
8 6 4 2

这是我的代码:

for(int i = 0; i <= 7; i += 2) {
    for (int j = 0; j <= i; j += 2) 
        cout << j + 2 << " ";
    cout << endl; 
}

我得到一个错误的答案。

2 个答案:

答案 0 :(得分:0)

您使用double for循环的方法是一个好主意。这是我的一般尝试,它允许在n行中打印您想要的内容,而不仅仅是4行:

#include <iostream>
using namespace std;

int main() {
    int n = 4;

    for(int i = 0; i < n; ++i) {
        for(int j = i; j >= 0; --j) {
            cout << 2 * (j + 1) << " ";
        }
        cout << "\n";
    }
    return 0;
}

输出:

2 
4 2 
6 4 2 
8 6 4 2

Live Demo

PS:这种方法可以最大程度地减少(甚至消除)魔术数字的使用。

答案 1 :(得分:0)

欢迎堆栈溢出。 您只是用内部for循环绕了一下

#include <iostream>
using namespace std;

int main() 
{
     for(int i = 0; i <= 7; i += 2){
       for (int j = i; j >= 0; j -= 2) {
        cout << j + 2 << " ";
        }
      cout << endl; 
    }
    return 0;
}

这将为您提供所需的输出:

2 
4 2 
6 4 2 
8 6 4 2