呆豬 發問時間: 電腦與網際網路程式設計 · 1 0 年前

幫寫程式~用Turbo C

麻煩各位大大了

總共有兩個關於Turbo C的題目...

1.

試寫一個程式,輸入數字後,從螢幕輸出以該數字為底的直角等腰三角形,如輸入5便印出以下圖形:

*

**

***

****

*****

2.

將以下程式把 if 改成用 switch case 寫

#include <stdio.h>

int main(void)

{

int i,j,k;

printf("判斷是否可為三角形三邊長n");

printf("請依序輸入三角形三邊長:n");

scanf("%d %d %d",&i,&j,&k);

if ((i+j)>k) /* 判斷第 1,2 邊的和是否大於第 3 邊 */

if ((i+k)>j) /* 判斷第 1,3 邊的和是否大於第 2 邊 */

if ((j+k)>i) /* 判斷第 2,3 邊的和是否大於第 1 邊 */

printf("可以為三角形的三邊長n"); /* 以上三者均為真 */

else

printf("不可以!! 因為(%d+%d)<%dn",j,k,i);

else

printf("不可以!! 因為(%d+%d)<%dn",i,k,j);

else

printf("不可以!! 因為(%d+%d)<%dn",i,j,k);;

return 0;

}

已更新項目:

感謝大大的回覆

但你寫的東西好像跑不起來ㄟ...@@"

第一題好像忘了加 #include

但加了之後跑起來沒達到題目所需...

第二題則是跑不起來

麻煩你再看看囉><"

感謝!

1 個解答

評分
  • 1 0 年前
    最佳解答

    main()

    {

    int n, i, j;

    printf("Input a number:");

    scanf("%d", &n);//輸入數字

    for(i = 1; i <= n; i++) {//畫出行數

    for(j = 1; j <= i; j++)//畫出幾顆星

    putchar('*');

    putchar('\n');

    }

    return 0;

    }

    #include <stdio.h>

    int main(void)

    {

    int i,j,k, c;

    printf("判斷是否可為三角形三邊長n");

    printf("請依序輸入三角形三邊長:n");

    scanf("%d %d %d",&i,&j,&k);

    c = 0;

    if ((i+j)>k) c|=1; /* 判斷第 1,2 邊的和是否大於第 3 邊 */

    if ((i+k)>j) c|=2; /* 判斷第 1,3 邊的和是否大於第 2 邊 */

    if ((j+k)>i) c|=4 /* 判斷第 2,3 邊的和是否大於第 1 邊 */

    switch(c) {

    case 7:

    printf("可以為三角形的三邊長n"); /* 以上三者均為真 */

    break;

    case 4:

    printf("不可以!! 因為(%d+%d)<%dn",i,k,j);

    case 6:

    printf("不可以!! 因為(%d+%d)<%dn",i,j,k);;

    break;

    case 1:

    printf("不可以!! 因為(%d+%d)<%dn",j,k,i);

    case 5:

    printf("不可以!! 因為(%d+%d)<%dn",i,k,j);

    break;

    case 2:

    printf("不可以!! 因為(%d+%d)<%dn",i,j,k);;

    case 3:

    printf("不可以!! 因為(%d+%d)<%dn",j,k,i);

    break;

    default:

    printf("不可以!! 因為根本不是三角形!!\n");

    break;

    }

    return 0;

    }

    2007-11-24 00:31:01 補充:

    最後的 default 好像訊息不該那樣寫...應該寫

    printf("不可以,因為 %d+%d+%d<=0&#92;&#92;n", i,j,k);

    2007-11-27 19:16:45 補充:

    抱歉,之前直接拿你的程式檢查一下就加上去了。

    第一個程式還有問題嗎?我跑起來是符合你的輸出啊?

    第二個程式if ((j+k)>i) c|=4 後面沒加分號; 加上去就 ok。

    很抱歉之前忘了review,現在才回

    2007-11-27 19:17:54 補充:

    還有文中的 n 應該是 '&#92;n',之前這部分我忘了改,抱歉

    參考資料: 人間電腦
還有問題?馬上發問,尋求解答。