C ++列式输出

时间:2016-11-18 17:12:04

标签: c++

C ++新手,在我的学习中有作业。

代码:

#include <iostream>
#include <iomanip>

using namespace std;

int main()

    {
        for (int i = 1, j = 1; i <= 9; i++, j++) {

            cout << setw(5) << right << i;
            if(j==3) {
                j=0;
                cout << "\n";
             }
         }
        return 0;
    }

产生此输出:

1    2    3
4    5    6
7    8    9

但是,我需要这个输出:

1    4    7
2    5    8
3    6    9

不允许使用数组。我认为这很简单(已经尝试了额外的 for 循环等),但无法弄明白。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

解决方案非常简单如下:

#include <iostream>

int main() {

    for (int i = 1; i <= 3; i++) {
        std::cout << i << "\t" << (i + 3) << "\t" << (i + 6) << "\n";
    }

    return 0;
}

我建议您应该考虑基本的数学逻辑来解决这些问题。

上面的代码将生成以下输出:

1   4   7
2   5   8
3   6   9

如果你看到每一行,你可以看到每个值增加3。

  • i = 1时,第一个值是我自己。
  • 第二个值为i+3
  • 第三个值为i+6