每行輸出的空格數到底是多少?
#include?<stdio.h> int?main() { ????int?i,?j,?k; ????for(i=1;?i<5;?i++) ????{ ????????for(j=i;?j<5;?j++)??//注意此行的第2個表達式,是j<5,而不是j<4。 ????????{ ????????????printf("?");???? ????????} ????????for(k=0;?k<2*i-1;?k++)? ????????{ ????????????printf("*");??? ????????} ????????printf("\n");????? ????} ????return?0; }
空格數依次應該是4、3、2、1,也就是說,每一行的空格數=(最后一行的*號數-該行的*號數)/2+1。
這也就是代碼中j<5而不是j<4的原因。
2015-12-12
謝謝分享