2017-03-28 40 views
-5

參考下面的代碼,我已經寫了:如何打印兩個字母之間的空間在for循環

#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

,但我想輸出是這樣的: éd C B A

Ëd C B A

Ëd C B A

Ëd C B A

Ëd C B A

誰能幫我這個?

+0

使用'printf(「% - 2c」,'A'-1 + j);'。 –

+0

[用空格打印輸出字符串]可能的重複(http://stackoverflow.com/questions/33964811/print-out-string-with-spaces) – rohit

+1

循環中的第二個'printf'不打印任何東西。你忘了一些東西。 – Olaf

回答

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

謝謝,它的工作! – rohit

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; 
}