
一道用C语言做的题 会的大哥帮帮忙啊!
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括:遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和...
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括:遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设fH 为其父身高,mH为其母身高,身高预测公式为:
男性成人时身高=(fH+mH)*0.54 cm
女性成人时身高=(fH*0.923+mH)/2 cm
此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,可增加身高1.5%。
要求:编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,fH为其父身高,mH为其母身高),是否喜爱体育锻炼(用字符型变量sports存储输入Y表示喜爱,输入N表示不喜爱),是否有良好的饮食习惯(用字符型变量diet存储,输入Y表示良好,输入N表示不好),利用给定公式的身高预测方法对身高进行预测。
下面两位大哥写的不太对啊 ,路过的大哥再帮帮忙啊! 展开
设fH 为其父身高,mH为其母身高,身高预测公式为:
男性成人时身高=(fH+mH)*0.54 cm
女性成人时身高=(fH*0.923+mH)/2 cm
此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,可增加身高1.5%。
要求:编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,fH为其父身高,mH为其母身高),是否喜爱体育锻炼(用字符型变量sports存储输入Y表示喜爱,输入N表示不喜爱),是否有良好的饮食习惯(用字符型变量diet存储,输入Y表示良好,输入N表示不好),利用给定公式的身高预测方法对身高进行预测。
下面两位大哥写的不太对啊 ,路过的大哥再帮帮忙啊! 展开
3个回答
展开全部
我写了一个比较简单的,你可以参考下,不懂的可以PM我。
#include<iostream.h>
double getnumber(char sex,char sport,char diet,double fH,double mH)//计算身高的公式
{
double cH;//孩子的身高
if(sex=='M')//判断性别
{
cH=(fH+mH)*0.54;//若是男孩子
}
else
{
cH=(fH*0.923+mH)/2 ;//若是女孩子
}
if(sport=='Y')//判断是否经常锻炼
{
cH=cH*(1+0.02);
if(diet=='Y')//判断是否健康饮食
{
cH=cH*(1+0.015);
return cH;
}
else return cH;
}
else return cH;
}
void main()
{
char sex,sport,diet;
double fH,mH;
cout<<"请依次输入sex,fH,mH,sport,diet参数"<<endl;
cout<<"sex:"<<endl;
cin>>sex;
cout<<"fH:"<<endl;
cin>>fH;
cout<<"mH:"<<endl;
cin>>mH;
cout<<"sport:"<<endl;
cin>>sport;
cout<<"diet:"<<endl;
cin>>diet;
cout<<"孩子身高为:"<<getnumber(sex,sport,diet,fH,mH)<<endl;//调用计算公式
}
#include<iostream.h>
double getnumber(char sex,char sport,char diet,double fH,double mH)//计算身高的公式
{
double cH;//孩子的身高
if(sex=='M')//判断性别
{
cH=(fH+mH)*0.54;//若是男孩子
}
else
{
cH=(fH*0.923+mH)/2 ;//若是女孩子
}
if(sport=='Y')//判断是否经常锻炼
{
cH=cH*(1+0.02);
if(diet=='Y')//判断是否健康饮食
{
cH=cH*(1+0.015);
return cH;
}
else return cH;
}
else return cH;
}
void main()
{
char sex,sport,diet;
double fH,mH;
cout<<"请依次输入sex,fH,mH,sport,diet参数"<<endl;
cout<<"sex:"<<endl;
cin>>sex;
cout<<"fH:"<<endl;
cin>>fH;
cout<<"mH:"<<endl;
cin>>mH;
cout<<"sport:"<<endl;
cin>>sport;
cout<<"diet:"<<endl;
cin>>diet;
cout<<"孩子身高为:"<<getnumber(sex,sport,diet,fH,mH)<<endl;//调用计算公式
}
展开全部
应该问你同学的。
C++我不会 ,路过 相信有人能帮你的。
C++我不会 ,路过 相信有人能帮你的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
等桌!!我去编写来给你!!!C语言能搞定!!!
#include <stdio.h>
#include <math.h>
main()
{float mH,fH,MH,FH;
char sex,sports,diet;
printf("Please input sex M or F:");
scanf("%c",&sex);
printf("Please input sports Y or N:");
scanf("%c",&sports);
printf("Please input diet Y or N:");
scanf("%c",&diet);
printf("Please input mH,fH:");
scanf("%f,%f",&mH,&fH);
if(sex=='M'&&sports=='Y'&&diet=='Y')
{MH=((fH+mH)*0.54)*1.035;
printf("MH=%f\n",MH);
getch();}
if(sex=='M'&&sports=='Y'&&diet=='N')
{MH=((fH+mH)*0.54)*1.02;
printf("MH=%f\n",MH);
getch();}
if(sex=='M'&&sports=='N'&&diet=='Y')
{MH=((fH+mH)*0.54)*1.015;
printf("MH=%f\n",MH);
getch();}
if(sex=='M'&&sports=='N'&&diet=='N')
{MH=(fH+mH)*0.54;
printf("MH=%f\n",MH);
getch();}
if(sex=='F'&&sports=='Y'&&diet=='Y')
{FH=((fH*0.923+mH)/2)*1.035;
printf("FH=%f\n",FH);
getch();}
if(sex=='F'&&sports=='Y'&&diet=='N')
{FH=((fH*0.923+mH)/2)*1.02;
printf("FH=%f\n",FH);
getch();}
if(sex=='F'&&sports=='N'&&diet=='Y')
{FH=((fH*0.923+mH)/2)*1.015;
printf("FH=%f\n",FH);
getch();}
if(sex=='F'&&sports=='N'&&diet=='N')
{FH=(fH*0.923+mH)/2;
printf("MH=%f\n",MH);
getch();
}
}
楼下的改下。我这个好像哪个地方有问题,输入的时候sports找不到入口,和后面的diet同时冒出来!!!
#include <stdio.h>
#include <math.h>
main()
{float mH,fH,MH,FH;
char sex,sports,diet;
printf("Please input sex M or F:");
scanf("%c",&sex);
printf("Please input sports Y or N:");
scanf("%c",&sports);
printf("Please input diet Y or N:");
scanf("%c",&diet);
printf("Please input mH,fH:");
scanf("%f,%f",&mH,&fH);
if(sex=='M'&&sports=='Y'&&diet=='Y')
{MH=((fH+mH)*0.54)*1.035;
printf("MH=%f\n",MH);
getch();}
if(sex=='M'&&sports=='Y'&&diet=='N')
{MH=((fH+mH)*0.54)*1.02;
printf("MH=%f\n",MH);
getch();}
if(sex=='M'&&sports=='N'&&diet=='Y')
{MH=((fH+mH)*0.54)*1.015;
printf("MH=%f\n",MH);
getch();}
if(sex=='M'&&sports=='N'&&diet=='N')
{MH=(fH+mH)*0.54;
printf("MH=%f\n",MH);
getch();}
if(sex=='F'&&sports=='Y'&&diet=='Y')
{FH=((fH*0.923+mH)/2)*1.035;
printf("FH=%f\n",FH);
getch();}
if(sex=='F'&&sports=='Y'&&diet=='N')
{FH=((fH*0.923+mH)/2)*1.02;
printf("FH=%f\n",FH);
getch();}
if(sex=='F'&&sports=='N'&&diet=='Y')
{FH=((fH*0.923+mH)/2)*1.015;
printf("FH=%f\n",FH);
getch();}
if(sex=='F'&&sports=='N'&&diet=='N')
{FH=(fH*0.923+mH)/2;
printf("MH=%f\n",MH);
getch();
}
}
楼下的改下。我这个好像哪个地方有问题,输入的时候sports找不到入口,和后面的diet同时冒出来!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询