English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

以下會印出一個1,3,5,7,9排列三角形圖



for(b=9;(b-a)?????請大大解釋一下意思...

#include
#include
main()
{
int a,b;
for(a=5;a<=9;a++)
{
for(b=1;b=9-a;b++)
printf(\" \");
for(b=9;(b-a)????什意思
{
printf(\"%c\",176);
}
printf(\"\\n\")

}
getche();
}

2006-07-17 06:25:38 · 5 個解答 · 發問者 育信 1 in 電腦與網際網路 程式設計

抱歉...可能我的意思你們不清楚 ==>是 印出來一個字元176的 1.3.5.7排列三角形

2006-07-17 08:29:46 · update #1

5 個解答

這是一個印出金字塔的程式, 我把你的程式略修正如下:
main()
{
int a,b;
for(a=5;a<=9;a++)
{
for(b=1;b<=9-a;b++)
printf(" "); //填前導空格9-a個
//填'A'共 2a-9個
for(b=9; b <2*a; b++)
{
printf("%c",'A'); //改為'A'才能正確顯示
}
printf("\n");
}
getche();
}
執行結果如下: (- 表示空格)
- - - - A
- - - AAA
- - AAAAA
- AAAAAAA
AAAAAAAAA

由此結果,我們可知, 第i 行的前導空格有 5-i個, 'A'有2*i-1個, i=1~5.
令 a = i+4, 則 i = a-4, a範圍從 5 至9,
前導空格 5-i = 9-a 個, 'A'有 2*i-1 = 2a-9 個.

a 在這裡應是第i 行的字元數(含空格).
其實我會以自己導出的式子最佳化後再來寫程式,看別人的code真的有點無厘頭.

2006-07-17 11:45:12 · answer #1 · answered by ? 4 · 0 0

印空白不看只看這兩行for(a=5;a<=9;a++)for(b=9;(b-a)

2006-07-17 09:28:18 · answer #2 · answered by chan 5 · 0 0

1.
for(b=1;b=9-a;b++)
printf(" ");
//已進入無限迴圈
2.
printf("\n")
//未加';',compile根本不會過
3.
printf("%c",176);
//秀出來的只是同一個字元
//並非你所說的印出一個1,3,5,7,9排列三角形圖

2006-07-17 07:15:12 · answer #3 · answered by ? 5 · 0 0

老實說,我也只看以下的執行結果,如下圖:
http://img114.imageshack.us/img114/3152/07172sd4.jpg

2006-07-17 07:11:47 · answer #4 · answered by Almond 6 · 0 0

老實說... 你這範例不是個好範例,解釋了也沒意思,如果這是書上的範例,那這本書該拿去丟掉了

2006-07-17 06:59:06 · answer #5 · answered by Rody 5 · 0 0

fedest.com, questions and answers