数据正常输入但是结果始终是0

#include
int main()
{int fH,mH,H,H1,H2;
char diet,sex,sport;
printf("请依次输入父亲身高,母亲身高:");
scanf("%d,%d",&fH,&mH);
if(fH>0&&mH>0)
{ printf("回答问题,输入y/n(例:y):性别是否为男:");
scanf(" %c",&sex);
switch(sex)
{ case 'y':H1=(fH+mH)0.54;break;
case 'n':H1=(fH
0.932+mH)/2;break; default:printf("输入错误"); }//判断性别
printf("回答问题,输入y/n(例:y):是否经常锻炼:");
scanf(" %c",&sport);
switch(sport)
{ case 'y':H2=H10.02;break;
case 'n':H2=H1;break;
default:printf("输入错误");
}//判断锻炼情况
printf("回答问题,输入y/n(例:y):是否有良好的饮食习惯:");
scanf(" %c",&diet);
switch(diet)
{ case 'y':H=H2
0.015;break;
case 'n':H=H2;break;
default:printf("输入错误");
}//判断饮食习惯
printf("H=%f",H);}
else printf("请重新输入");
return 0;
}

跟小数运算需要把H相关的变量定义成float类型,看看我的这个解答,跟你这个问题一样。https://ask.csdn.net/questions/7805346

上面定义H是整形了 输出有点问。H可以定义为float 中

计算结果是小数,申明浮点型类型

#include<stdio.h>
int main()
{int fH,mH;
float H,H1,H2;
char diet,sex,sport;
printf("请依次输入父亲身高,母亲身高:");
scanf("%d,%d",&fH,&mH);
if(fH>0&&mH>0)
{ printf("回答问题,输入y/n(例:y):性别是否为男:");
scanf(" %c",&sex);
switch(sex)
{ case 'y':H1=(fH+mH)*0.54;break;
case 'n':H1=(fH*0.932+mH)/2;break; default:printf("输入错误"); }//判断性别
printf("回答问题,输入y/n(例:y):是否经常锻炼:");
scanf(" %c",&sport);
switch(sport)
{ case 'y':H2=H1*(1+0.02);break;
case 'n':H2=H1;break;
default:printf("输入错误");
}//判断锻炼情况
printf("回答问题,输入y/n(例:y):是否有良好的饮食习惯:");
scanf(" %c",&diet);
switch(diet)
{ case 'y':H=H2*(1+0.015);break;
case 'n':H=H2;break;
default:printf("输入错误");
}//判断饮食习惯
printf("H=%f",H);}
else printf("请重新输入");
return 0;
}