这个是有结果的,只不过它运行完毕就自动跳出去了,你没看到而已
printf("请输入父亲身高和母亲身高\n");
scanf("%lf%lf",&faHeight,&moHeight);
问题出在这条语句上,你输入父母身高的方法不对。如果不修改代码应该这样输入:178(空格)164 或者是:178(回车)164 如果修改代码,则可以按照你的输入格式,应修改为: scanf("%lf,%lf",&faHeight,&moHeight);中间的那个逗号你少掉了,为了让你看清楚我用了全角字符
#include"stdio.h"
#include"conio.h" /*调用getche()函数需要加这一行至于为什么调它 请用看下面*/
main()
{
char sex,sports,diet;
double faHeight,moHeight,height;
printf("输入性别(M男/F女)\n");
scanf("%c",&sex);
printf("请输入父亲身高和母亲身高\n");
scanf("%lf%lf",&faHeight,&moHeight);
fflush(stdin); //清除输入缓存
printf("请输入是否喜欢体育锻炼(Y/N)\n");
scanf("%c",&sports); /*这里如果用scanf录入的话会出现问题,因为scanf会把回车当成一个字符录 入 会导致y直接录入到diet而跳过sports*/
fflush(stdin);//同理
printf("\n"); /*这个换行符 是用来保持格式美观的*/
printf("请输入是否有良好的饮食习惯(Y/N)\n");
scanf("%c",&diet); /*同理*/
printf("\n");
if(sex=='F'||sex=='f')
height=(faHeight*0.923+moHeight)/2;
if(sex=='M'||sex=='m')
height=(faHeight+moHeight)*0.54;
if(sports=='Y'||sports=='y')
height=1.02*height;
if(diet=='Y'||diet=='y')
height=1.015*height;
printf("这个孩子成年时候的身高为%lf厘米\n",height);
}
#include
#include
#include
int main(int argc, char *argv[])
{
char sex, sports, diet;
double faHeight, moHeight, height;
printf("输入性别(M男/F女):");
scanf("%c", &sex);
printf("请输入父亲身高和母亲身高(例如:170 160):");
scanf("%lf %lf",&faHeight, &moHeight);
getchar();
printf("请输入是否喜欢体育锻炼(Y/N):");
sports = getchar();
getchar();
printf("请输入是否有良好的饮食习惯(Y/N):");
diet = getchar();
getchar();
if(sex == 'F' || sex == 'f')
height = (faHeight * 0.923 + moHeight) / 2;
if(sex == 'M' || sex == 'm')
height = (faHeight + moHeight) * 0.54;
if(sports == 'Y' || sports == 'y')
height = 1.02 *height;
if(diet == 'Y' || diet == 'y')
height = 1.015 * height;
printf("\n这个孩子成年时候的身高为%lf厘米\n", height);
return 0;
}