我试图绘制这种模式:
1 2 3 4 0
1 2 3 0 5
1 2 0 4 5
1 0 3 4 5
我得到了这种模式:
1 2 3 0 5
1 2 0 4 5
1 0 3 4 5
0 2 3 4 5
该计划是:
#include <iostream>
using namespace std;
int main () {
for (int i = 4 ; i >= 1; i--){
for (int j = 1; j <=5 ; j++){
if (i==j)
cout <<"0";
else
cout <<j;
}
cout << endl;
}
return 0;
}
我该怎么做才能解决这个问题,并打印出预期的模式?
答案 0 :(得分:4)
你需要0在第5位,然后在第4位,第3位和第2位,但是i
从4到1迭代。只需改变第一个循环:
for (int i = 5 ; i >= 2; i--){
所以i
根据需要从5迭代到2。
答案 1 :(得分:2)
试试这个:
#include <iostream>
using namespace std;
int main () {
for (int i = 4 ; i >= 1; i--){
for (int j = 1; j <=5 ; j++){
if (i==j-1)
cout <<"0";
else
cout <<j;
}
cout << endl;
}
return 0;
}
我刚刚将i == j
更改为i == j -1
所以:
j = 1 4 == 0它将转到else并打印1
j = 2 4 == 1它将转到else并打印2
j = 3 4 == 2它将转到else并打印3
j = 4 4 == 3它将转到else并打印4
在这里它将打印0
j = 5 4 == 4如果为真,那么它将打印0,依此类推,直到外循环结束。
答案 2 :(得分:0)
#include <iostream>
using namespace std;
int main () {
for (int i = 0 ; i <4 ; i++){
for (int j = 1 ; j <=5 ; j++){
if (i==(5-j))
cout <<"0";
else
cout <<j;
}
cout << endl;
}
return 0;
}
输出:
12340
12305
12045
10345