每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父母身高和自身性别密切相关。设faheight为其父身高,moheight为其母身高,身高预测公式为:男性成人时身高 = (faheight + moheight) * 0.54(cm),女性成人时身高 = (faheight * 0.923 + moheight) / 2(cm),此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。程序要求:父亲的身高与母亲的身高、小孩的性别、是否喜爱体育锻炼和是否有良好的卫生饮食习惯也从键盘上输入,最终输出预测的身高。
#include<stdio.h>
int main()
{
float faheight, moheight,height;/*定义变量,faheight为父亲身高,moheight为母亲身高,height为孩子的身高*/
char sex, sports, diet;/*定义性别,运动,饮食*/
printf("请输入您孩子的性别[男生输入m,女生输入w]:");
scanf_s("%c", &sex);
getchar();
printf("您是否经常运动[是填y,否填n]:");
scanf_s("%c", &sports);
getchar();
printf("您是否饮食规律[是填q,否填k]:");
scanf_s("%c", &diet);
getchar();
printf("请分别输入父亲母亲身高,中间以逗号分开:");
scanf_s("%f,%f", &faheight,&moheight);/*输入语句*/
getchar();
if (sex == 'm')
{
if (sports == 'y' && diet == 'q')
{
height = (faheight + moheight) * 0.54 * (1 + 0.035);
}
else if (sports == 'y' && diet == 'k')
{
height = (faheight + moheight) * 0.54 * (1 + 0.02);
}
else if (sports == 'n' && diet == 'q')
{
height = (faheight + moheight) * 0.54 * (1 + 0.015);
}
else if (sports == 'n' && moheight == 'k')
{
height = (faheight + moheight) * 0.54;
}
}
if (sex == 'w')
{
if (sports == 'y' && diet == 'q')
{
height=((faheight * 0.923 + moheight) / 2 )* (1 + 0.035);
}
else if (sports == 'y' && diet == 'k')
{
height = ((faheight * 0.923 + moheight) / 2) * (1 + 0.02);
}
else if (sports == 'n' && diet == 'q')
{
height = ((faheight * 0.923 + moheight) / 2) * (1 + 0.015);
}
else if (sports == 'n' && moheight == 'k')
{
height = ((faheight * 0.923 + moheight) / 2);
}
}
printf("身高=%f cm", height);
return 0;
}