C語言——輸出一個菱形
阿新 • • 發佈:2019-01-04
相信大家都見到過這種題目,以下分享我個人的做法,希望對大家有所幫助,同時歡迎各位大佬提出建議。
看到題目肯定是需要觀察的,必須找出每一行空格以及星號數量的規律,把菱形分為上下兩部分列印。
上半部分規律:星號數目是行數的二倍減一,空格數是上半部分總行數減去它所在的行號;
下半部分規律:從下半部分開始算起,每行星號數是2*line-2*n-1,空格數目為它所在的行號。
程式碼如下:
//更新版,調整了程式碼風格以及變數的設定。 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int line = 0; printf("請輸入要列印的菱形上半部分的行數:"); scanf("%d",&line); int n = 0; int i = 0; int j = 0; //列印上半部分 for (n=1; n<=line; n++)//控制行數 { for (i=0; i<line-n; i++)//控制空格數量 { printf(" "); } for (j=0; j<2*n-1; j++)//控制星號數量 { printf("*"); } printf("\n"); } //列印下半部分 for (n=1; n<line; n++)//控制行數 { for (i=0; i<n; i++)//控制空格數量 { printf(" "); } for (j=0; j<2*line-2*n-1; j++)//控制星號數量 { printf("*"); } printf("\n"); } return 0; }