发布网友
共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;
}