第五章 循環結構課後反思
阿新 • • 發佈:2019-04-11
一行 size 部分 協調 換行 src 圖片 行數 inf
首先先看圖案的行列,圖案為9行11列。然後圖案可分為三個部分。
1、
2、
3、
第一部分的三角形較簡單,不過需要註意輸出的空格數量(為使圖案與書本一致,要通過增加空格使星號間距增大)。在增加星號間距的同時,還要註意換行時候的星號前面空格的數量(需要與後面星號間距協調一致)
附上一張沒調整星號前面間距的圖
(可以看到每一行前方的空格數量沒有與星號間距協調好的,導致圖案變形)
第二部分較簡單
第三部分可以看成是第一部分的星號與空格交換後的圖形,不過在第一部分中的後半部分空缺是通過換行實現的,所以在第三部分中需要增加右半部分的星號。
(PS:在這個圖案中可以不需要很多變量,變量可以重復使用,只需要在for中賦值即可)
#include<stdio.h> main() { int i,j,k; for (i=1;i<=5;i++) //,此處第一個for為圖案的上半部分(5行的三角形)i表示行數,j,k表示列中的星號和空格 { for(j=1;j<=(5-i);j++) { printf(" "); // 這裏需註意與下方星號的間距協調至一致 } for(k=1;k<=(2*i-1);k++) { printf(" * "); //這裏為了達到書本裏的星號間距所以在星號兩邊加入了空格 } printf("\n"); } for (i=1;i<=2;i++) //此處第二個for表示圖案中間的兩行星號 { for(j=1;j<=9;j++) { printf(" * "); } printf("\n"); } for (i=1;i<=5;i++) //此處第三個for為圖案下半部分的三角形 { for(j=1; j<=(5-i);j++) //這是圖案下方左邊的三角形 { printf(" * "); } for(k=1;k<=(2*i-1);k++) { printf(" "); } for(j=1;j<=(5-i);j++) //這是圖案下方右邊的三角形 { printf(" * "); } printf("\n"); } }
第五章 循環結構課後反思