这第一题c语言怎么做啊? 50
这题直接根据公式来做就行,但是题目没有规定输入输出数据的格式,也就是题目不严谨。
下面是源码:
#include<stdio.h>
int main()
{
// sex是性别,取值为F(男)、M(女)
// sport是体育运动,取值为Y(是)、N(否)
// diet是饮食习惯,取值为Y(是)、N(否)
char sex, sport, diet;
// FHeight是父亲身高,MHeight是母亲身高,me表示自己的身高
double FHeight, MHeight, me;
// 输入数据
scanf("%c %lf %lf %c %c", &sex, &FHeight, &MHeight, &sport, &diet);
if (sex == 'F') me = (FHeight + MHeight) * 0.54; // 男生
else me = (FHeight * 0.923 + MHeight) / 2; // 女生
if (sport == 'Y') me += me * 0.02; // 喜爱体育运动
if (diet == 'Y') me += me * 0.015; // 良好的饮食习惯
printf("%lf", me);
return 0;
}
#include <stdio.h>
int main()
{ float h,fh,mh;
char xb,ty,ys;
printf("性别(m/f):");
scanf("%c",&xb);
printf("父身高:");
scanf("%f",&fh);
printf("母身高:");
scanf("%f%*c",&mh);
printf("是否体育锻炼(y/n):");
scanf("%c%*c",&ty);
printf("有否良好饮食习惯(y/n):");
scanf("%c",&ys);
if(xb=='m'||xb=='M')h=(fh+mh)*0.54;
else h=(fh*0.923+mh)/2;
if(ty=='y'||ty=='Y')h*=1.02;
if(ys=='y'||ys=='Y')h*=1.015;
printf("\n身高预测值:%.2f\n",h);
return 0;
}
int getFather() {
int f;
printf("input father`s\n");
scanf("%d", &f);
return f;
}
int getMother() {
int m;
printf("input mother`s\n");
scanf("%d", &m);
return m;
}
int getSex() {
int s;
printf("input sex\n1 = man\t2 = woman\n");
scanf("%d", &s);
if(s==1){
return 1;
} else{
return 2;
}
}
int main() {
double guess;
if (getSex()==1){
guess=(getFather()+getMother())*0.54;
}else{
guess=(getFather()*0.923+getMother())/2;
}
printf("%lf",guess);
return 0;
}