输入一个大于零的奇数值——我知道该怎么做。
如果输入 5,则打印出如下所示的三角形:
54321
432
3
如果输入 11:
10987654321
098765432
9876543
and so on
我看到我们必须将输入除以 10 并打印余数,但我无法打印倒计时。
for (i = n; i >= 1; i--)
i = i - 1;
输入一个大于零的奇数值——我知道该怎么做。
如果输入 5,则打印出如下所示的三角形:
54321
432
3
如果输入 11:
10987654321
098765432
9876543
and so on
我看到我们必须将输入除以 10 并打印余数,但我无法打印倒计时。
for (i = n; i >= 1; i--)
i = i - 1;
使用 for 循环(从 0 开始),并在每次迭代中打印一个从 i 到 string.length()-1 的子字符串,并使用设置的宽度来增加缩进,如下代码:
string num = "10987654321";
for (int i = 0; i < num.length(); ++i){
cout << setw(i) << right << num.substr(i, num.length()-i) << endl;
}
这应该会给你你想要的输出。(如果“<< right <<”不起作用,将“right”与“left”交换)
还需要包含 iomanip 才能使用 setw( )
int num = 10987654321;
int numSpaces = 1;
cout << num << endl;
for (int i = 0; i >= 1; i--)
{
for (int j = 0; j < numSpaces; j++)
{
cout << " ";
}
cout << num % 10 << endl;
num = num / 10;
numSpaces++;
}
瞧,一个美丽的三角形:)