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

當輸入 3 時,印出
1

12
123
12
1

【恢復 n 值為定值,並修改原程式結構】
設定 n 為常數值 3
思考上一題,輸出字元數是依據 x 的絕對值
,x 主要目的是表達該列的字元數,而 y 值
是依據 x 值大小輸出字元數,3 字、2 字、1字、2 字、3字,然而本題
每一列的字元數為 1 字、2 字、3字、2 字、1字,經比對如下:
原值
3
2
1
2
3
新值
1
2
3
2
1
4
4
4
4
4

原值+新值 = 4 = n+1
新值 = n+1-原值
調整公式
新值 = n+1-(abs(x)+1) = n-abs(x)

int x,y,n,t;
n=3;
for(x=-(n-1) ; x<=n-1 ; x++){
     t=n-abs(x);
     for(y=1;y<=t;y++){
          printf("%d",y);
     }
     printf("\n");
}



下一個工作是恢復 n 的輸入方式即為所求。
int x,y,n,t;
printf("Input the n : ");scanf("%d",&n);
for(x=-(n-1) ; x<=n-1 ; x++){
     t=n-abs(x);
     for(y=1;y<=t;y++){
          printf("%d",y);
     }
     printf("\n");
}