
c语言难题 请高手进来帮忙解决 在线等
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后的身高与其父母的身高和自...
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为:
男性成人时身高 = (faHeight + moHeight) × 0.54(cm)
女性成人时身高 = (faHeight × 0.923 + moHeight) / 2(cm)
此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编程从键盘输入你的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示喜爱,输入字符N表示不喜爱),利用给定公式和身高预测方法对你的身高进行预测。
int main()
{
char sex,sports,diet;
float faHeight,moHeight,yourHeight;
printf("输入你的性别(F女/M男):");
scanf("%c",&sex);
getchar();
printf("输入你父亲的身高(cm):");
scanf("%lf",&faHeight);
getchar();
printf("输入你母亲的身高(cm):");
scanf("%lf",&moHeight);
getchar();
printf("你喜爱体育运动吗?(y/n)");
scanf("%c",&sports);
getchar();
printf("你有有良好的饮食习惯吗?(y/n)");
scanf("%c",&diet);
getchar();
if (sex=='F')
yourHeight=float((faHeight*0.923 + moHeight) / 2);
else if (sex=='M')
yourHeight=float((faHeight + moHeight)*0.54);
else printf("性别错误\n");
if (sports=='y') yourHeight=float(yourHeight*1.02);
if (diet=='y') yourHeight=float(yourHeight*1.015);
printf("你的身高为:%lfcm",yourHeight);
return 0;
}
这个问题的答案是我在百度上找的,运行有错误,但是不知道错到哪里了,请高手帮帮忙!这个道题要求用if句的 我是初学的,给个详细的解释吧! 所以如果给我新的程序时 就按初级的来,不要太高级了,这毕竟要交的。 谢啦! 展开
设faHeight为其父身高,moHeight为其母身高,身高预测公式为:
男性成人时身高 = (faHeight + moHeight) × 0.54(cm)
女性成人时身高 = (faHeight × 0.923 + moHeight) / 2(cm)
此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编程从键盘输入你的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示喜爱,输入字符N表示不喜爱),利用给定公式和身高预测方法对你的身高进行预测。
int main()
{
char sex,sports,diet;
float faHeight,moHeight,yourHeight;
printf("输入你的性别(F女/M男):");
scanf("%c",&sex);
getchar();
printf("输入你父亲的身高(cm):");
scanf("%lf",&faHeight);
getchar();
printf("输入你母亲的身高(cm):");
scanf("%lf",&moHeight);
getchar();
printf("你喜爱体育运动吗?(y/n)");
scanf("%c",&sports);
getchar();
printf("你有有良好的饮食习惯吗?(y/n)");
scanf("%c",&diet);
getchar();
if (sex=='F')
yourHeight=float((faHeight*0.923 + moHeight) / 2);
else if (sex=='M')
yourHeight=float((faHeight + moHeight)*0.54);
else printf("性别错误\n");
if (sports=='y') yourHeight=float(yourHeight*1.02);
if (diet=='y') yourHeight=float(yourHeight*1.015);
printf("你的身高为:%lfcm",yourHeight);
return 0;
}
这个问题的答案是我在百度上找的,运行有错误,但是不知道错到哪里了,请高手帮帮忙!这个道题要求用if句的 我是初学的,给个详细的解释吧! 所以如果给我新的程序时 就按初级的来,不要太高级了,这毕竟要交的。 谢啦! 展开
3个回答
展开全部
#include <stdio.h>
int main()
{
char sex,sports,diet;
double faHeight,moHeight,yourHeight;
printf("输入你的性别(F女/M男):");
scanf("%c",&sex);
getchar();
printf("输入你父亲的身高(cm):");
scanf("%lf",&faHeight);
getchar();
printf("输入你母亲的身高(cm):");
scanf("%lf",&moHeight);
getchar();
printf("你喜爱体育运动吗?(y/n)");
scanf("%c",&sports);
getchar();
printf("你有有良好的饮食习惯吗?(y/n)");
scanf("%c",&diet);
getchar();
if (sex=='F')
yourHeight=(faHeight*0.923 + moHeight) / 2;
else if (sex=='M')
yourHeight=(faHeight + moHeight)*0.54;
else printf("性别错误\n");
if (sports=='y') yourHeight=yourHeight*1.02;
if (diet=='y') yourHeight=yourHeight*1.015;
printf("你的身高为:%lfcm",yourHeight);
return 0;
}
你把程序改成这样就可以了!就是double和float的类型转换!
int main()
{
char sex,sports,diet;
double faHeight,moHeight,yourHeight;
printf("输入你的性别(F女/M男):");
scanf("%c",&sex);
getchar();
printf("输入你父亲的身高(cm):");
scanf("%lf",&faHeight);
getchar();
printf("输入你母亲的身高(cm):");
scanf("%lf",&moHeight);
getchar();
printf("你喜爱体育运动吗?(y/n)");
scanf("%c",&sports);
getchar();
printf("你有有良好的饮食习惯吗?(y/n)");
scanf("%c",&diet);
getchar();
if (sex=='F')
yourHeight=(faHeight*0.923 + moHeight) / 2;
else if (sex=='M')
yourHeight=(faHeight + moHeight)*0.54;
else printf("性别错误\n");
if (sports=='y') yourHeight=yourHeight*1.02;
if (diet=='y') yourHeight=yourHeight*1.015;
printf("你的身高为:%lfcm",yourHeight);
return 0;
}
你把程序改成这样就可以了!就是double和float的类型转换!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
float对应的格式为%f
强行转换格式要把类型括起来,例如(float)(yourHeight*1.015);
你的程序应把大小写也考虑F和f是不同的
输入应该精确到可测位数,例如百分位
这个是修改过的
int main()
{
char sex,sports,diet;
float faHeight,moHeight,yourHeight;
printf("输入你的性别(F女/M男):");
scanf("%c",&sex);
getchar();
printf("输入你父亲的身高(cm):");
scanf("%f",&faHeight);
getchar();
printf("输入你母亲的身高(cm):");
scanf("%f",&moHeight);
getchar();
printf("你喜爱体育运动吗?(y/n)");
scanf("%c",&sports);
getchar();
printf("你有有良好的饮食习惯吗?(y/n)");
scanf("%c",&diet);
getchar();
if (sex=='F'||sex=='f')
yourHeight=(float)((faHeight*0.923 + moHeight) / 2);
else if (sex=='M'||sex=='m')
yourHeight=(float)((faHeight + moHeight)*0.54);
else printf("性别错误\n");
if (sports=='y'||sports=='Y') yourHeight=(float)(yourHeight*1.02);
if (diet=='y'||diet=='Y') yourHeight=(float)(yourHeight*1.015);
printf("你的身高为:%.2fcm",yourHeight);
return 0;
}
强行转换格式要把类型括起来,例如(float)(yourHeight*1.015);
你的程序应把大小写也考虑F和f是不同的
输入应该精确到可测位数,例如百分位
这个是修改过的
int main()
{
char sex,sports,diet;
float faHeight,moHeight,yourHeight;
printf("输入你的性别(F女/M男):");
scanf("%c",&sex);
getchar();
printf("输入你父亲的身高(cm):");
scanf("%f",&faHeight);
getchar();
printf("输入你母亲的身高(cm):");
scanf("%f",&moHeight);
getchar();
printf("你喜爱体育运动吗?(y/n)");
scanf("%c",&sports);
getchar();
printf("你有有良好的饮食习惯吗?(y/n)");
scanf("%c",&diet);
getchar();
if (sex=='F'||sex=='f')
yourHeight=(float)((faHeight*0.923 + moHeight) / 2);
else if (sex=='M'||sex=='m')
yourHeight=(float)((faHeight + moHeight)*0.54);
else printf("性别错误\n");
if (sports=='y'||sports=='Y') yourHeight=(float)(yourHeight*1.02);
if (diet=='y'||diet=='Y') yourHeight=(float)(yourHeight*1.015);
printf("你的身高为:%.2fcm",yourHeight);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
char sex, sports, diet ;
double faHeight, moHeight, yourHeight ;
printf("输入你的性别(F女/M男):") ;
scanf("%c", &sex);
getchar();
printf("输入你父亲的身高(cm):") ;
scanf("%f",&faHeight) ;
getchar();
printf("输入你母亲的身高(cm):") ;
scanf("%f",&moHeight) ;
getchar();
printf("你喜爱体育运动吗?(y/n)") ;
scanf("%c",&sports);
getchar();
printf("你有有良好的饮食习惯吗?(y/n)") ;
scanf("%c",&diet);
getchar();
if (sex == 'F')
yourHeight = (faHeight*0.923 + moHeight) / 2 ;
else if (sex == 'M')
yourHeight = (faHeight + moHeight) * 0.54 ;
else printf("性别错误\n") ;
if (sports == 'y')
yourHeight = yourHeight * 1.02 ;
if (diet == 'y')
yourHeight = yourHeight*1.015 ;
printf("你的身高为:%fcm\n",yourHeight) ;
return 0 ;
}
#这个修改后的。。。。
int main()
{
char sex, sports, diet ;
double faHeight, moHeight, yourHeight ;
printf("输入你的性别(F女/M男):") ;
scanf("%c", &sex);
getchar();
printf("输入你父亲的身高(cm):") ;
scanf("%f",&faHeight) ;
getchar();
printf("输入你母亲的身高(cm):") ;
scanf("%f",&moHeight) ;
getchar();
printf("你喜爱体育运动吗?(y/n)") ;
scanf("%c",&sports);
getchar();
printf("你有有良好的饮食习惯吗?(y/n)") ;
scanf("%c",&diet);
getchar();
if (sex == 'F')
yourHeight = (faHeight*0.923 + moHeight) / 2 ;
else if (sex == 'M')
yourHeight = (faHeight + moHeight) * 0.54 ;
else printf("性别错误\n") ;
if (sports == 'y')
yourHeight = yourHeight * 1.02 ;
if (diet == 'y')
yourHeight = yourHeight*1.015 ;
printf("你的身高为:%fcm\n",yourHeight) ;
return 0 ;
}
#这个修改后的。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询