按答案輸出的話 為什么第一行會輸出4個空格 不應該是一個么
#include?<stdio.h> int?main() { ????int?i,?j,?k; ????for(i=1;?i<5;?i++) ????{ ????????/*?觀察每行的空格數量,補全循環條件?*/ ????????for(j=i;j<5???;??j++??)?? ????????{ ????????????printf("?");????//輸出空格 ????????} ????????/*?觀察每行*號的數量,補全循環條件?*/ ????????for(?k=0?;??k<2*i-1?;??k++?????)? ????????{ ????????????printf("*");???//每行輸出的*號 ????????} ????????printf("\n");?????//每次循環換行 ????} ????return?0; }
2016-05-04
for(j=i;j<5???;??j++??)??
????????{
????????????printf("?");????//輸出空格
????????}
執行這一段的時候,一開始 j 賦值為 i 的值,而之后就會根據他的條件 j<5 來判斷是否繼續循環,而不是再根據一開始的賦值來判斷是否循環。你要的應該結果應該是把
for(j=i;j<5???;??j++??) ?里面的j<5 改下就好了。。
2016-05-03
應該是根據最后一行來看吧,用第一行的*對齊最后一行中間那個最后一行中間那個*到最后一行第一個*占了n個字節就第一行*有n個空格。
2016-05-03
?for(j=i;j<5 ? ; ?j++ ?) ?
? ? ? ? {
? ? ? ? ? ? printf(" "); ? ?//輸出空格
? ? ? ? }
j=i=1;j<5;j++ ? 輸出5-1個空格