SOGO論壇
  登入   註冊   找回密碼
查看: 937|回覆: 2
列印 上一主題 下一主題

[程式設計] 求助高手...是否有其餘解法 [複製連結]

Rank: 2

狀態︰ 離線
跳轉到指定樓層
1
發表於 2009-5-5 23:28:04 |只看該作者 |倒序瀏覽
各位大大,這回有努力了唷...但是為了以防萬一~

想要了解各位高手是否有其他的寫法!!

---------------------------------

題目:
加入身高體重差的計算, 檔名為"tall3.c"。
判斷身高體重差, 男性如果差在100 以下, 女性如
果身高體重差在105 以下, 輸出“該減肥了 !!”;
男性如果差在110 以上, 女性如果身高體重差在
115 以上, 輸出“你太瘦了 !!”;
其他情形輸出 “好身材 !!!”)
(第一組測試值 1, 178 , 73 )
(第二組測試值 1, 178 , 80 )
(第三組測試值 2, 163 , 51)
(第四組測試值 2, 163 , 41 )

--------------------------------------------

【測試值與螢幕顯示結果】

D: >tall3.exe
請輸入你的性別, (1)男(2)女: (輸入測試)
請輸入您的身高: (輸入測試)
請輸入你的體重: (輸入測試)
(測試值一: 1, 178, 73)
先生, 您的身高178cm, 體重73 公斤!
好身材!!!
(測試值二: 1, 178, 80)
先生, 您的身高178cm, 體重80 公斤!
該減肥了!!
(測試值三: 2, 163, 51)
小姐, 您的身高163cm, 體重51 公斤!
好身材!!!
(測試值四: 2, 163, 41)
小姐, 您的身高163cm, 體重41 公斤!
你太瘦了!!!

----------------------------------------

【以下是我的寫法之1】

#include < stdio.h>
int main(void)
{
     int a;
     float b, c, d;
     printf("請輸入你的性別(1)男 (2)女:");
     scanf("%d", &a);
     printf("請輸入你的身高:");
     scanf("%f", &b);
     printf("請輸入你的體重:");
     scanf("%f", &c);
     d=b-c;
     switch (a)
     {
            case 1: printf("先生,身高:%.2f,體重:%.2f!\n", b, c);
                    if (d<100)
                    {   printf("該減肥了!!"); }
                    if (d>110)
                    {   printf("你太瘦了!!");  }
                    if (d<110 & d>100)
                    {   printf("好身材!!");  }
                    break;
            case 2: printf("小姐,身高:%.2f,體重:%.2f!\n", b, c);
                    if (d<105)
                    {   printf("該減肥了!!");  }
                    if (d>115)
                    {   printf("你太瘦了!!");  }
                    if (d<115 & d>105)
                    {   printf("好身材!!");  }
                    break;
            default: printf("性別輸入錯誤!\n");
     }               
     return 0;
}

【以下是我的寫法之2】

#include < stdio.h>
int main (void)
{
    int a, b, c, d;     / *宣告a,b,c,d變數* /
    printf("請輸入您的性別(1)男 (2)女:");     / *輸出提示句* /
    scanf("%d", &a);     / *取得使用者的輸入的整數,存於a* /
    switch (a)
    {
           case 1: printf("請輸入您的身高:");
                   scanf("%d", &b);
                   printf("請輸入您的體重:");
                   scanf("%d", &c);
                   printf("先生你好!您的身高為%d,體重為%d\n", b, c);
                   d=b-c;     / *d為身高減體重之數值* /
                   if (d<100)     / *差在100以下* /
                   {    printf("該減肥了!"); }
                   if (d>110)     / *差在110以上* /
                   {    printf("你太瘦了!"); }
                   if (d>100 & d<110)     / *介於100到110之間* /
                   {    printf("好身材!"); }
                   break;     / *終止switch* /
           case 2: printf("請輸入您的身高:");
                   scanf("%d", &b);
                   printf("請輸入您的體重:");
                   scanf("%d", &c);
                   printf("小姐妳好!您的身高為%d,體重為%d\n", b, c);
                   d=b-c;     / *d為身高減體重之數值* /
                   if (d<105)     / *差在105以下* /
                   {    printf("該減肥了!"); }
                   if (d>115)     / *差在115以上* /
                   {    printf("你太瘦了!"); }
                   if (d>105 & d<115)     / *介於105到115之間* /
                   {    printf("好身材!"); }
                   break;     / *終止switch* /
           default: printf("性別輸入錯誤!\n");
                    printf("請輸入您的性別(1)男 (2)女:"); / *輸出提示句,請使用者重新輸入* /        
    }
    return 0;     / *結束* /
}

※各位高手,是否還有其他寫法,可提供小弟參考呢?!...
喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

Rank: 5Rank: 5

狀態︰ 離線
2
發表於 2009-5-6 22:04:09 |只看該作者
歡迎參考=P
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int sex;
  5.         double h,w;
  6.         char str[3][5]={"","先生","小姐"};
  7.         printf("請輸入你的性別, (1)男(2)女: ");
  8.         scanf("%d",&sex);
  9.         printf("請輸入你的身高: ");
  10.         scanf("%lf",&h);
  11.         printf("請輸入你的體重: ");
  12.         scanf("%lf",&w);
  13.         printf("%s, 您的身高%gcm, 體重%g 公斤!\n",str[sex],h,w);
  14.         if ( h-w<95+sex*5 ) puts("該減肥了!!");
  15.         else if ( h-w>105+sex*5 ) puts("你太瘦了!!");
  16.         else puts("好身材!!!");
  17.         return 0;
  18. }
複製代碼
已有 1 人評分威望 收起 理由
紅塵孤鳥 + 1 熱心助人

總評分: 威望 + 1   查看全部評分

Rank: 2

狀態︰ 離線
3
發表於 2009-5-6 23:55:30 |只看該作者

回覆 #2 夜舞 的帖子

高手~可以跟我解釋美衡所代表的涵義嗎?

因為有些代碼我還不太懂得說~~

如:

#include <stdio.h>
int main(void)
{
        int a;
        double b,c; /*double的意思如同float,只是double是比float更準的浮點數*/
        char str[3][5]={"","先生","小姐"};
        printf("請輸入你的性別, (1)男(2)女: "); /*輸出提示句*/
        scanf("%d",&a);
        printf("請輸入你的身高: "); /*輸出提示句*/
        scanf("%lf",&b);
        printf("請輸入你的體重: "); /*輸出提示句*/
        scanf("%lf",&c);
        printf("%s, 您的身高%gcm, 體重%g 公斤!\n",str[a],b,c);
        if ( b-c<95+a*5 ) puts("該減肥了!!");
        else if ( b-c>105+a*5 ) puts("你太瘦了!!");
        else puts("好身材!!!");
        return 0;
}
請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-4-30 18:40

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部