C语言 已知父母身高预测孩子身高程序 求帮找错

发布网友

我来回答

2个回答

热心网友

#include<stdio.h>
int main()
{
float faheight,moheight,a;
char sex,sport,habit;
printf("Please input: Father's height(space)Mother's height(cm)\n");
scanf("%f %f",&faheight,&moheight);//%f
{
getchar();//接收'\n'
printf("IF THE BABY IS A BOY?(y or n)\n");
sex=getchar();
if(sex=='y')
a=(faheight+moheight)*1.0*0.54;
if(sex=='n')
a=(faheight*0.923+moheight)/2;
getchar();
}
{
printf("DOES HE/SHE LIKE SPORTS?(y or n)\n");
sport=getchar();
if(sport=='y') 
a=a*1.02;
if(sport=='n')
a=a*1.0;
getchar();
}
{
printf("DOES HE/SHE HAVE GOOD HABITS?(y or n)\n");
habit=getchar();
if(habit=='y')
a=a*1.015;
if(habit=='n')
a=a;
getchar();
}

printf("Height=%.2f cm",a);

return 0;

}

追问接收'\n' 那儿没明白@_@

追答你输入父母身高之后,不是输入了一个回车么,就是接收这个回车的

热心网友

#include<stdio.h>
int main()
{
int faheight,moheight; \\这里用int
float a;
char sex,sport,habit, ch;
printf("Please input: Father's height(space)Mother's height(cm)\n");
scanf("%d %d",&faheight,&moheight);
{
printf("IF THE BABY IS A BOY?(y or n)\n");
while((ch=getchar())!='\n'); \\所有getchar之前加一行这个
sex=getchar();
if(sex=='y')a=(faheight+moheight)*1.0*0.54;
if(sex=='n')a=(faheight*0.923+moheight)/2;
getchar();
}
{
printf("DOES HE/SHE LIKE SPORTS?(y or n)\n");
while((ch=getchar())!='\n');
sport=getchar();
if(sport=='y') a=a*1.02;
if(sport=='n') a=a*1.0;
getchar();
}
{
printf("DOES HE/SHE HAVE GOOD HABITS?(y or n)\n");
while((ch=getchar())!='\n');
habit=getchar();
if(habit=='y')a=a*1.015;
if(habit=='n')a=a;
getchar();
}

printf("Height=%.2f cm",a);
return 0;

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com