身高预测 用C语言进行,发现输入什么条件只要父母身高固定最后数值都一样,求各位大佬帮忙看看错误在哪?

Python017

身高预测 用C语言进行,发现输入什么条件只要父母身高固定最后数值都一样,求各位大佬帮忙看看错误在哪?,第1张

首先比较运算符是==,你都写成了赋值运算符=

然后用scanf读入单个字符时需要注意

输入完母亲身高后会输入回车,即换行符'\n'仍留在输入缓冲区中

那么之后的scanf("%c\n", &sex)会先读出'\n',导致sex输入错误

将scanf("%c\n", &sex)改为scanf("\n%c", &sex),即可忽略缓冲区中的'\n'

之后的scanf("%c\n", &sports)和scanf("%c\n", &diet)也都改为"\n%c"

问题较多,帮你改了,再试试

int

main()

{

double

f,m,y

int

f,m,y,n

char

sex,sports,diet

printf("请输入父亲身高:")

scanf("%lf",&f)

printf("请输入母亲身高:")

scanf("%lf",&m)

fflush(stdin)

printf("sex(f

,

m):")

scanf("%c",&sex)

fflush(stdin)

printf("sports(y

,

n):")

scanf("%c",&sports)

fflush(stdin)

printf("diet(y

,

n):")

scanf("%c",&diet)

//scanf("%lf\n",&y)

这句应该没用!

if

(sex=='m'

)

y=(f+m)*0.54

else

//

if

(sex=='f'

)

非男即女,这个if也没用

y=(f*0.923+m)/2

if

(sports=='y')

y=y*(1+0.02)

if

(diet=='y')

y=y*(1+0.015)

printf("y=%lfcm\n",y)

return

0

}

#include<stdio.h>

int main()

{

//c语言预测子女身高只用父母的身高,其它不管。

float fq=0,mq=0,ez=0,nr=0

printf("请输入父亲母亲身高:")

scanf("%f%f",&fq,&mq)

ez = (fq+mq)*0.54

nr = ((fq*0.9)+mq)/2.0

printf("儿子 %.2f 女儿 %.2f\n",ez,nr)

return 0

}

请输入父亲母亲身高:173 156

儿子 177.66 女儿 155.85

Press any key to continue