如何仅使用循环语句而不使用if语句在C ++中每行打印5个值?

时间:2014-02-04 14:09:20

标签: c++ for-loop

我想编写一个程序,打印1到50的数字,每行6个值,值之间有空格。我需要只使用for循环语句而不使用if语句。

#include <iostream>
using namespace std;

int main() {
    int a;
    int b;
    int c;
    int d;
    int e;

    for(int a = 1, int b = 2, int c = 3, int d = 4, int e = 5; a <= 50, b <= 50, c <= 50, d <= 50, e <= 50; a++, b++, c++, d++, e++) {
        cout << a << "  "<< b<< "  "<< c << "  "<< d<< "  "<< e <<"  " << endl;
    }

    return 0;
}

如果我使用if语句,这是程序,但我不确定如何在不使用if语句的情况下编译它:

#include <iostream>
using namespace std;

int main() {
for(int i = 1; i <= 100; i++){
    cout << i << "  ";
        if(i % 5 == 0)
            cout << endl;
}
return 0;

}

2 个答案:

答案 0 :(得分:2)

我猜你正在寻找的是类似的东西?

#include <iostream>
using namespace std;

int main() 
{
   for(int i = 0; i <= 50; ++i)
   { 
      ((i % 6) == 5) ? cout << i << '\n' : cout << i << ' ';
   }
   return 0;
}

嵌套for循环示例:

#include <iostream>
using namespace std;

int main() 
{
    for(int i = 0; i < 50; ++i)
    { 
        for( int j = 0; j <= 5; ++j)
        {
            cout << (i) << ' ';
            ++i;
        }
        cout << '\n';
    }
    return 0;
}

答案 1 :(得分:1)

我的回答是:

#include <iostream>

using namespace std;

int main() {
   for(size_t i = 1; i <= 50; ++i)
       cout << i << (i % 6 ? ' ' : '\n');
}