男性成人身高=(父亲身高+母亲身高)0.54cm
女性成人身高=(父亲身高0.923+母亲身高)/2cm
喜爱体育锻炼,身高增加2%,有良好饮食习惯,增加1.5%
测试输入:
性别:M 父亲身高:175 母亲身高:156 是否喜欢体育锻炼:Y 是否有良好的体育习惯: Y
我用if嵌套写的,但是就是不对。。不知道咋回事
男性成人身高=(父亲身高+母亲身高)0.54cm
女性成人身高=(父亲身高0.923+母亲身高)/2cm
喜爱体育锻炼,身高增加2%,有良好饮食习惯,增加1.5%
测试输入:
性别:M 父亲身高:175 母亲身高:156 是否喜欢体育锻炼:Y 是否有良好的体育习惯: Y
我用if嵌套写的,但是就是不对。。不知道咋回事
#include <stdio.h>
#include <string.h>
double height(double faHeight,double moHeight,char sex)
{
if(sex=='M'||sex=='m')
return (faHeight + moHeight)*0.54;
if(sex=='F'||sex=='f')
return (faHeight*0.923 + moHeight)/2;
return 0;
}
double sport(double height,char sports)
{
if(sports=='Y'||sports=='y')
return height*1.02;
if(sports=='N'||sports=='n')
return height;
return 0;
}
double diet(double height,char diets)
{
if(diets=='Y'||diets=='y')
return height*1.15;
if(diets=='N'||diets=='n')
return height;
return 0;
}
int main()
{
char sex,sports,diets,ch;
double h,faHeight,moHeight;
printf("请输入男女,M/F:");
scanf("%c",&sex);
printf("请输入父亲身高: ");
scanf("%lf",&faHeight);
printf("请输入母亲身高: ");
scanf("%lf",&moHeight);
h=height(faHeight,moHeight,sex);
while((ch = getchar()) != '\n' && ch != EOF);
printf("喜爱体育锻炼吗?Y/N: ");
scanf("%c",&sports);
h=sport(h,sports);
while((ch = getchar()) != '\n' && ch != EOF);
printf("有良好的饮食习惯吗?Y/N: ");
scanf("%c",&diets);
h=diet(h,diets);
while((ch = getchar()) != '\n' && ch != EOF);
if(h)
printf("我预测你身高有 %lf CM\n",h);
else
printf("您输入有误!!!\n");
return 0;
}