黑马程序员技术交流社区
标题: if-else-if预测娃娃身高 [打印本页]
作者: ySssssssss 时间: 2016-3-25 21:44
标题: if-else-if预测娃娃身高
/*
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父母身高和自身性别密切相关。 男性成人时身高 = (父亲身高 + 母亲身高) * 0.54(cm) 女性成人时身高 = (父亲身高* 0.923 + 母亲身高) / 2(cm) 此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%. 请编写程序从控制台接收小孩的性别与父母的身高及其它相关数据,根据以上公式算出小孩成人时的身高
分析:
判断小孩的性别
如果是男孩儿 (父亲身高 + 母亲身高) * 0.54(cm)
如果是女孩儿( 父亲身高* 0.923 + 母亲身高) / 2(cm)
如果喜爱锻炼,身高可增加2%,如果有良好的卫生饮食习惯,身高可增加1.5%
*/
#include <stdio.h>
int main()
{
//定义变量 父亲身高 母亲身高 孩子身高 增加的身高
double fatherHeight = 0,motherHeight = 0,babyHeight = 0,add_1 = 0,add_2 = 0;
//性别
int sex = 0;
printf("请输入父亲的身高(cm):");
scanf("%lf",&fatherHeight);
printf("请输入母亲的身高(cm):");
scanf("%lf",&motherHeight);
printf("请输入小孩儿的性别(0.男 1.女):");
scanf("%d",&sex);
//判断性别
//男孩儿
if (sex == 0)
{
babyHeight = (fatherHeight + motherHeight)*0.54;
printf("遗传身高是:%.2lfcm\n",babyHeight);
add_1 = 0.02 * babyHeight;
printf("如果喜爱锻炼,身高可增加%.2lfcm\n",add_1);
add_2 = 0.015 * babyHeight;
printf("如果有良好的卫生饮食习惯,身高可增加%.2fcm\n",add_2);
}
//女孩儿
else if (sex == 1)
{
babyHeight = (fatherHeight * 0.93 + motherHeight)/2;
printf("遗传身高是:%.2lfcm\n",babyHeight);
add_1 = 0.02 * babyHeight;
printf("如果喜爱锻炼,身高可增加%.2lfcm\n",add_1);
add_2 = 0.015 * babyHeight;
printf("如果有良好的卫生饮食习惯,身高可增加%.2fcm\n",add_2);
}
//这个是...
else
{
printf("这...我还不会判断\n");
}
return 0;
}
作者: 15527933998 时间: 2016-3-25 22:03
#include <stdio.h>
#include <string.h>
int main()
{
//定义变量 父亲身高 母亲身高 孩子身高 增加的身高
double fatherHeight = 0,motherHeight = 0,babyHeight = 0,add_1 = 0,add_2 = 0;
//性别
char sex[6];
char boy[6] = "男";
char girl[6] = "女";
printf("请输入父亲的身高(cm):");
scanf("%lf",&fatherHeight);
printf("请输入母亲的身高(cm):");
scanf("%lf",&motherHeight);
printf("请输入小孩儿的性别(男或女):");
scanf("%s",sex);
//判断性别
//男孩儿
if (strcmp(sex,boy) == 0)
{
babyHeight = (fatherHeight + motherHeight)*0.54;
printf("遗传身高是:%.2lfcm\n",babyHeight);
add_1 = 0.02 * babyHeight;
printf("如果喜爱锻炼,身高可增加%.2lfcm\n",add_1);
add_2 = 0.015 * babyHeight;
printf("如果有良好的卫生饮食习惯,身高可增加%.2fcm\n",add_2);
}
//女孩儿
else if (strcmp(sex,girl) == 0)
{
babyHeight = (fatherHeight * 0.93 + motherHeight)/2;
printf("遗传身高是:%.2lfcm\n",babyHeight);
add_1 = 0.02 * babyHeight;
printf("如果喜爱锻炼,身高可增加%.2lfcm\n",add_1);
add_2 = 0.015 * babyHeight;
printf("如果有良好的卫生饮食习惯,身高可增加%.2fcm\n",add_2);
}
//这个是...
else
{
printf("这...我还不会判断\n");
}
return 0;
}
作者: 15527933998 时间: 2016-3-25 22:08
感觉男孩输入0,女孩输入1.这个不好
直接输入男或女的汉字更好些, 其他都没有问题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |