問題描述:寫一程式依據輸入印出圖形. 當輸入 3 時,印出 1 12 123 12 1 【恢復 n 值為定值,並修改原程式結構】 設定 n 為常數值 3 思考上一題,輸出字元數是依據 x 的絕對值 ,x 主要目的是表達該列的字元數,而 y 值 是依據 x 值大小輸出字元數,3 字、2 字、1字、2 字、3字,然而本題 每一列的字元數為 1 字、2 字、3字、2 字、1字,經比對如下:
原值+新值 = 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"); } |