【发布时间】:2017-09-18 20:56:22
【问题描述】:
我正在尝试使用 printf 来获得以下编程输出:
- 20
- 15
- 10
- 5
0
+ 5
+ 10
+ 15
+ 20
关键规格是:
- 字段宽度始终为 4
- 符号总是左对齐
- 数字始终右对齐
- 零没有符号
到目前为止,我还没有想出一个 printf 语句来给我想要的结果。我最接近的是:
for(int i = -20; i <= 20; i+=5)
{
printf("%-+4d \n", i);
}
产生:
-20
-15
-10
-5
+0
+5
+10
+15
+20
有没有办法做到这一点而不必进行任何繁琐的字符串操作?
【问题讨论】:
-
如果
i超出范围 [-999... + 999],输出应该是什么?还是说“不在乎”? -
在此应用程序中,
i仅在 [-20, 20] 范围内。但是,对于可能查看此问题的其他人,注意i的有效范围对于有效答案很重要。
标签: c string formatting printf string-formatting