SOGO論壇
標題:
求助高手...是否有其餘解法
[列印本頁]
作者:
jerry08amm
時間:
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; / *結束* /
}
※各位高手,是否還有其他寫法,可提供小弟參考呢?!...
作者:
夜舞
時間:
2009-5-6 22:04:09
歡迎參考=P
#include <stdio.h>
int main()
{
int sex;
double h,w;
char str[3][5]={"","先生","小姐"};
printf("請輸入你的性別, (1)男(2)女: ");
scanf("%d",&sex);
printf("請輸入你的身高: ");
scanf("%lf",&h);
printf("請輸入你的體重: ");
scanf("%lf",&w);
printf("%s, 您的身高%gcm, 體重%g 公斤!\n",str[sex],h,w);
if ( h-w<95+sex*5 ) puts("該減肥了!!");
else if ( h-w>105+sex*5 ) puts("你太瘦了!!");
else puts("好身材!!!");
return 0;
}
複製代碼
作者:
jerry08amm
時間:
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;
}
歡迎光臨 SOGO論壇 (https://oursogo.com/)
Powered by OURSOGO.COM