C语言 身高预测的问题 c语言 预测身高小程序问题

作者&投稿:频莎 (若有异议请与网页底部的电邮联系)
getchar(sport);应该是sport= getchar();

不用if判断会很麻烦,用了if判断更简单。
if(food=='y') Height *=0.015;

c语言编程,身高预测~

#include
/*
设faHeight为其父身高,moHeight为其母身高,身高预测公式为
男性成人时身高=(faHeight + moHeight)×0.54cm
女性成人时身高=(faHeight×0.923 + moHeight)/2cm
此外,如果喜爱体育锻炼,那么可增加身高2%;
如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、
父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、
是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、
是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),
利用给定公式和身高预测方法对身高进行预测。
*/
void main()
{
double faHeight=0,moHeight = 0,yourHeight = 0;
char sex = 0,sports = 0,diet = 0;
printf("输入你父母的身高:");
scanf("%lf,%lf",&faHeight,&moHeight);
printf("输入你的性别(F代表女性,M代表男性):");
getchar();
scanf("%c",&sex);
printf("是否喜爱体育锻炼?Y表示喜爱,N表示不喜爱");
getchar();
scanf("%c",&sports);
printf("是否有良好的饮食习惯?Y表示有,N表示没有");
getchar();
scanf("%c",&diet);
if(sex == 'M')
yourHeight = (faHeight + moHeight) * 0.54;
else if(sex == 'F')
yourHeight = (faHeight * 0.923 + moHeight)/2;
if(sports == 'Y')
yourHeight = yourHeight * 1.02;
if(diet == 'Y')
yourHeight = yourHeight * 1.015;
printf("你的身高是:%lf",yourHeight);
}

你把scanf语句的%c改为%s