【发布时间】:2010-12-23 08:00:17
【问题描述】:
我希望函数 getCategory() 在输入无效时返回 "invalid" ,而不是打印单词 "invalid" (即代替使用 printf )(即当身高或体重低于零时) . 请帮忙:
#include<stdio.h>
#include<conio.h>
char getCategory(float height,float weight)
{
char invalid = '\0';
float bmirange;
if(height<=0 || weight<=0)
return invalid;
else
{
height=height*0.01;
bmirange=[weight/(height*height)];
if(bmirange< 15 )
return starvation;
}
}
/* return the following to category
If bmi range < 15 then category is "starvation"
If bmi range >=15 && bmi range < 18.5 then category is "underweight"
If bmi range >=18.5 && bmi range < 25 then category is "normal"
If bmi range >= 25 && bmi range < 30 then category is "overweight"
If bmi range >=30 && bmi range < 40 then category is "obese"
If bmi range >=40 then category is "morbidly obese
*/
int main()
{
char Category;
float height,weight;
printf("enter height");
scanf("%f",&height);
printf("enter weight");
scanf("%f",&weight);
Category=getCategory(height,weight);
if(Category == 0)
printf("invalid");
else
printf("%c", Category);
}
【问题讨论】:
-
似乎是与stackoverflow.com/questions/1847690 相关的后续问题,这必须是家庭作业...
-
height=height*0.01;顺便说一句,这就是 Apps Hungarian 表示法的用途,正如 Joel Spolsky 所倡导的那样。mheight = cmHeight * 0.01;没有评论是有意义的。 -
这是同一用户再次提出完全相同的问题:stackoverflow.com/questions/1847690/…。由于这是较新的,请考虑关闭。
标签: c string function char return