仅使用循环的 C++ 数字模式解决方案
C++ Number Pattern Solution Using only Loops
您好,我在网站上搜索过,想看看有没有类似的问题,但是没有找到。如果有类似的事情,我深表歉意。我应该编写一种给定输入的数字模式,如下所示,不使用列表、向量、数组等,只使用循环 (for
、while
、do-while
)
输入:5
输出:
1 2 3 4 5
2 2 3 4 5
3 3 3 4 5
4 4 4 4 5
5 5 5 5 5
(没有所有额外的行,但它不会正确显示)
我尝试使用以下代码:
int count = 1;
int counter = 1;
while (count <= a) {
cout << count << " ";
count++;
}
cout << endl;
for (int i = 1 + counter; i <= a; i++) {
cout << i << " ";
for (int k = i; k <= a; k++)
cout << k << " ";
cout << endl;
counter++;
}
我得到输出:
1 2 3
2 2 3
3 3
我明白我解决这个问题的方式(只使用两个 for 循环)是不正确的,但我不知道如何解决这个问题。任何意见是极大的赞赏。谢谢!
您将不得不打印 i
i-1
次而不是一次。
int count = 1;
int counter = 1;
while (count <= a) {
cout << count << " ";
count++;
}
cout << endl;
for (int i = 1 + counter; i <= a; i++) {
for (int k = 1; k < i; k++) // print i (i-1) times
cout << i << " ";
for (int k = i; k <= a; k++)
cout << k << " ";
cout << endl;
counter++;
}
您好,我在网站上搜索过,想看看有没有类似的问题,但是没有找到。如果有类似的事情,我深表歉意。我应该编写一种给定输入的数字模式,如下所示,不使用列表、向量、数组等,只使用循环 (for
、while
、do-while
)
输入:5
输出:
1 2 3 4 5
2 2 3 4 5
3 3 3 4 5
4 4 4 4 5
5 5 5 5 5
(没有所有额外的行,但它不会正确显示) 我尝试使用以下代码:
int count = 1;
int counter = 1;
while (count <= a) {
cout << count << " ";
count++;
}
cout << endl;
for (int i = 1 + counter; i <= a; i++) {
cout << i << " ";
for (int k = i; k <= a; k++)
cout << k << " ";
cout << endl;
counter++;
}
我得到输出:
1 2 3
2 2 3
3 3
我明白我解决这个问题的方式(只使用两个 for 循环)是不正确的,但我不知道如何解决这个问题。任何意见是极大的赞赏。谢谢!
您将不得不打印 i
i-1
次而不是一次。
int count = 1;
int counter = 1;
while (count <= a) {
cout << count << " ";
count++;
}
cout << endl;
for (int i = 1 + counter; i <= a; i++) {
for (int k = 1; k < i; k++) // print i (i-1) times
cout << i << " ";
for (int k = i; k <= a; k++)
cout << k << " ";
cout << endl;
counter++;
}