問題描述:寫一程式依據輸入印出圖形.

當輸入 3 時,印出
C
B
A
B
C
B
A
B
   
A
   
B
A
B
C
B
A
B
C

將 A 轉換成 1、B 轉換成 2、C 轉換成 3,
則輸出範圍是 1 至 2*n-1
調整 x 與 y 的範圍為 -(n-1) 至 (n-1) 的絕對值
且取補數,得座標值如下:
(0,0)
(1,0)
(2,0)
(1,0)
(0,0)
(0,1)
(1,1)
(2,1)
(1,1)
(0,1)
(0,2)
(1,2)
(2,2)
(1,2)
(0,2)
(0,1)
(1,1)
(2,1)
(1,1)
(0,1)
(0,0)
(1,0)
(2,0)
(1,0)
(0,0)
3
2
1
2
3
 
2
1
2
 
 
1
 
 
2
1
2
 
1
1
1
1
1

當 x>=y 時,輸出 x 的補數,否則輸出空白。
程式碼如下:
int n,i,j,x,y;
n=4;
for(i=-(n-1);i<=(n-1);i++){
     y=n-abs(i)-1;
     for(j=-(n-1);j<=(n-1);j++){
          x=n-abs(j)-1;
          if(x>=y){
               printf("%d",n-x);
          }
          else{
               printf(" ");
          }
     }
     printf("\n");
}


修改輸出碼,將 1234 轉成 ABCD
int n,i,j,x,y;
n=4;
for(i=-(n-1);i<=(n-1);i++){
     y=n-abs(i)-1;
     for(j=-(n-1);j<=(n-1);j++){
          x=n-abs(j)-1;
          if(x>=y){
               printf("%c",n-x+"A"-1);
          }
          else{
               printf(" ");
          }
     }
     printf("\n");
}