如何根据x的值更改文本输出

时间:2011-03-22 20:00:41

标签: c++

我想创建一到十个列表。每次循环时,它都会向x添加一个,我也希望它像这样打印。

1
 2
  3
   4
    5
     6
      7
       8
        9
         10

现在它的打印方式如下:

1
2
3
4
5
6
7
8
9
10

5 个答案:

答案 0 :(得分:5)

伪代码:

for (i: 1..10)
   for(j:1..i) //or for(j:1..(i-1)) if you want zero spaces on line 1
      print space
   print i
   print newline

HTH

答案 1 :(得分:4)

std::string有一个带有数字和字符的构造函数,可用于生成“ x 空格字符”:

#include <iostream>
#include <string>

int main()
{
    for (int x = 0; x < 10; x++) {
        std::cout << std::string(x, ' ') << (x+1) << '\n';
    }
}

希望有所帮助。

答案 2 :(得分:1)

嗯,你可以在循环中创建一个“spacer”-string,并在每次运行时为它添加一个空格。然后输出spacer-string +循环次数。

答案 3 :(得分:0)

您可以在函数中添加一个表示缩进级别的参数(例如,由空格组成的字符串),并且每次调用它时都会将其增加一个“”。

在一个循环中你可以做同样的事情,只需在每次增加值时添加一个空格

答案 4 :(得分:0)

char buf[64];
for(int i = 1; i <= 10; i++)
{
  sprintf(buf, "%%%dd\n", i + i / 10 + 1);
  printf(buf, i);
}

for(int i = 1; i <= 10; i++)
{
  for(int j = 0; j < i - 1; j++)
    std::cout << ' ';
  std::cout << i << std::endl;
}