Printf空格,如果数字< 10只使用printf

时间:2017-11-02 11:46:46

标签: alignment printf

所以,我有三个数字可以< 100;

我如何打印这些数字看起来像这样:

{10, 5,20}
{ 1, 6, 2}
{19,18, 7}

而不是

{10,5,20}
{1,6,2}
{19,18,7}

并且可以只使用printf(没有ifs)?

2 个答案:

答案 0 :(得分:0)

printf("%2d", yournumber)将打印2个字符的数字。如果number小于2个字符长,则在数字之前将包含空格。

如果数字大于2位,修饰符无效,将打印整个数字。

printf("%2d", 1);   //  " 1"
printf("%2d", 10);  //  "10"
printf("%2d", 100); // "100"

答案 1 :(得分:0)

您必须使用"%2d"指定字段的宽度,您可以为您喜欢的宽度更改2。

#include <stdio.h>

int main() {
    printf("%2d,%2d,%2d\n", 10,5,20);
    return 0;
}