【问题标题】:How to print spaces between two letters in for loop如何在for循环中打印两个字母之间的空格
【发布时间】:2017-03-28 05:51:21
【问题描述】:

参考下面我写的代码:

#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

谁能帮我解决这个问题?

【问题讨论】:

  • 使用printf("%-2c",'A'-1 + j);
  • 循环中的第二个printf 不打印任何内容。你忘记了什么。

标签: c for-loop


【解决方案1】:

使用空间:

printf(" ");

而不是

printf("");

喜欢,

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

【讨论】:

    【解决方案2】:

    使用%-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;
    }
    

    【讨论】:

      猜你喜欢
      • 2012-09-20
      • 1970-01-01
      • 2017-04-22
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 2018-09-05
      相关资源
      最近更新 更多