身高预测 每个做父母的都关心自己孩子成人后的身高,有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。 设faHeight为其父身高,moHeight为其母身高,身高(单位为cm)预测公式为: 男性成人时身高=(faHeight + moHeight)×0.54 女性成人时身高=(faHeight×0.923 + moHeight)/2 此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。 编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高),利用给定公式和身高预测方法对身高进行预测。
输入格式:
依次输入性别,是否喜爱体育锻炼、是否有良好的饮食习惯、父亲的身高、母亲的身高。
输出格式:
预测其成年后的身高,保留1位小数。
输入样例:
M,Y,Y,175,160
输出样例:
187.3
输入样例:
F,N,N,170,165
输出样例:
161.0
输入样例:
F,Y,Y,170,165
输出样例:
166.6
#include<stdio.h>
int main()
{
int fh,mh;
double h;
char sex,sports,diet;
scanf("%c,%c,%c,%d,%d",&sex,&sports,&diet,&fh,&mh);
if(sex=='F')
h=(fh*0.923+mh)/2;
{if(sports=='Y')
h=h*1.02;
{if(diet=='Y')
h=h*1.015;
printf("%.1f",h);
if(diet=='N')
printf("%.1f",h);}
if(sports=='N')
{if(diet=='Y')
h=h*1.015;
printf("%.1f",h);
if(diet=='N')
printf("%.1f",h);}}
if(sex=='M')
h=(fh+mh)*0.54;
{if(sports=='Y')
h=h*1.02;
{if(diet=='Y')
h=h*1.015;
printf("%.1f",h);
if(diet=='N')
printf("%.1f",h);}
if(sports=='N')
{if(diet=='Y')
h=h*1.015;
printf("%.1f",h);
if(diet=='N')
printf("%.1f",h);}}
return 0;
}
如果if后只有一行,不需要大括号,如果超过一行,大括号直接放在if后面,你这样放,大括号的内容不属于if的
if A
b;
c;
//这么写,编译器只会认为b是属于if的,而c是另外的语句。如果if后面超过两句,请用{}
//初学建议不要偷懒,但凡有这种,全部加上{},哪怕只有一句话也要加。