太久沒有寫程式了 果然全都忘光光 兼退化ㄌ T_T
就是一直想不通這一題
輸入->
三角形的底數:(如=7 手動輸入)
輸出->
*******
*****
***
*
(如果輸入ㄉ數不是”奇數”ㄉ話?.........會)
輸出->
三角形底數錯誤!!!
必須是奇數
我外部ㄉ程式都OK
唯獨 內部ㄉ判斷執行式 一直寫不好
最後想說 直接問各位會程式ㄉ高手大大ㄇ
指點我一下 從那寫起會比較好
(希望也能寫個範例 我會比較好懂)
順便也同時一並請教 寫ㄉ時候 如何將
程式本身寫ㄉ最小 最有效率(最佳化)
方便ㄉ話 也請解題ㄉ大大留個MSN
大家切磋交流一下 感謝之至!
三角形高度有4層
由第一層算起分別有7, 5, 3, 1個 *
由第一層算起每行的"space"共好 0, 1, 2, 3個
由此可以發現其中的關係式
三角形的高度 height = (int)(底數 / 2) + 1
I = 0開始
第 I 層要輸出的內容是
I 個 space + ( 底數 - (I * 2) )個*
這樣寫看的懂嗎
#include <conio.h>
void main()
{
int n,i,j,sp;
printf("請輸入三角形底:");scanf("%d",&n);
if (n%2==0)
printf("三角形底數錯誤!!!必須是奇數n");
for (i=0;i<=(int)n/2+1;i++)
{
for(sp=0;sp<=i-1;sp++)
putchar(' ');
for(j=1;j<=n-2*i;j++)
printf("*");
printf("n");
}
}
以上是小弟的淺見 我是初學程式的!!@@ 不好意思解的不是很聰明!!