如何在for循环中打印两个字母之间的空格

时间:2017-03-28 05:51:22

标签: c for-loop

请参阅我编写的以下代码:

#include<stdio.h>
int main(int argc, char *a[])

{
int i, j;
for(i=5;i>=1;i--)
{
    printf("");
    for(j=5;j>=1;j--)
    {
        printf("%c",'A'-1 + j);
        printf("");
    }
    printf("\n");
}

return 0;
}

此代码将模式打印为: EDCBA

EDCBA

EDCBA

EDCBA

EDCBA

但我希望输出类似于: E D C B A

E D C B A

E D C B A

E D C B A

E D C B A

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

使用空格:

printf(" ");

而不是

printf("");

像,

for(i=5;i>=1;i--)
{
    printf(" ");
    for(j=5;j>=1;j--)
    {
        printf("%c",'A'-1 + j);
        printf("");
    }
    printf("\n");
}

答案 1 :(得分:1)

使用%-2c指定左对齐的最小字段宽度2。并删除零长度格式说明符。

#include<stdio.h>

int main(int argc, char *a[])

{
    int i, j;
    for(i=5;i>=1;i--)
    {
        for(j=5;j>=1;j--)
        {
            printf("%-2c",'A'-1 + j);
        }
        printf("\n");
    }

    return 0;
}