C語言入門:列印菱形星號“*”圖案
阿新 • • 發佈:2018-12-31
題目:
執行結果:
列印菱形星號“*”圖案。輸入一個正整數n(n為奇數),列印一個高度為n的“*”菱形圖案。試編寫相應程式。
程式簡易流程圖如下:
#include<stdio.h> /*列印菱形圖案*/ int main (void) { int n,j,i; /*i為行數,j為每行中的項數*/ printf("(n為奇數)輸入圖案高度n:\n"); scanf("%d",&n); if (n<=0||n%2==0) /*判斷n輸入正誤*/ printf("輸入錯誤!"); else { for(i=1;i<=n/2+1;i++) /*列印上三角,(包括中間行)*/ { for(j=1;j<=n/2+i;j++) { if(j>=n/2-i+2) printf(" *"); else printf(" "); } printf("\n"); } for(i=n/2;i>=1;i--) /*列印下三角,(不包括中間行)*/ { /*將i改為倒序,這樣就不必再次考慮每行中項的列印,下個for迴圈可以直接複製上三角部分*/ for(j=1;j<=n/2+i;j++) /*這個for迴圈與上三角一致 */ if(j>=n/2-i+2) printf(" *"); else printf(" "); printf("\n"); } } return 0; }
執行結果: