c语言身高预测问题,如何修改这段代码才能与题目给的输出对上 C语言 求大神把下面的代码修改下,如果输入错误则程序返回上移...

作者&投稿:策图 (若有异议请与网页底部的电邮联系)
#include <stdio.h>
int main(){
double height;
char sex,sports,diet;
double faheight,moheight; 
while(scanf("%c",&sex) !=EOF ){
getchar();
scanf("%lf %lf",&faheight,&moheight); //<---去掉逗号,保证数据读取正确!
switch(sex){
case 'F':
height = (faheight * 0.923 + moheight) / 2;
break;
case 'M':
height = (faheight + moheight) * 0.54;
break;
}
getchar(); //<----不加这个,会导致后面读字符出错!
scanf("%c",&sports);
getchar();
switch(sports){
case 'Y':
height = height * (1 + 0.02);
break;
case 'N':
height = height;
break;
}
scanf("%c",&diet);
getchar();
switch(diet){
case 'Y':
height = height * (1 + 0.015);
break;
case 'N':
height = height;
break;
}
printf("%.2lf
",height);
}
return 0;
}


  1. 删除%lf,%lf间的逗号;

  2. 删除所有的getchar();

  3. 在所有scanf("%c"...函数中的%前加一个空格,例如把scanf("%c",&sports);改成scanf(" %c",&sports);。

    (2、3两步也可以如下改:将getchar();提前到scanf前面)



C语言 身高预测的问题~

getchar(sport);应该是sport= getchar();

不用if判断会很麻烦,用了if判断更简单。
if(food=='y') Height *=0.015;

楼主一开始把变量定义为字符了,就不能正常地存储中文字啊,在 if(gender=='m')前加上
area; m;作为断点调试,出来的都是乱码(其实也可以用printf根本不能输出那些变量的值)
比如一个char型占1个字节,而一个中文字符不止占一个字符...
运行结果可能没大的问题,那是因为两个相比较的字符都是中文字符的前一个字节,换句话说是相同的乱码
以上给判断输入造成了困难,因为不能预料变量保存的不完整的中文字符是什么,所以最好是将变量的定义都改为字符串
改了之后就好办了。
用strcmp函数比较,
if( 0=!strcmp(area,s) && 0!=strcmp(area,n) ) { printf(""); continue; }如果要跳到前一个语句,那么也可以试试goto语句
写的程序语句没有运行,大概是这个意思...

C语言程序设计,身高的计算。请各位帮忙看看我的程序,多谢了!
答:input'Y' or 'N':");scanf("%1s", &diet);//分析判断预测 switch(diet){ case'Y':height=height*(1.015);break;case'N':height=height;break;} printf("\nmy height is:%.3f",height);return 0;} ...

大一c语言程序设计题目:预测身高,男生身高=(爸身高+妈身高)×0.54 女 ...
答:printf("您的身高应该是:%lf\n",height); return 0;}请输入您的性别:1(男 ) 2(女):1 请输入您父母的身高:1.78 1.56 请问您是否有良好的生活习惯 1(有) 0(没有)1 请问您是否喜爱体育运动: 1(...

大一c语言程序设计:预测身高,男生身高=(爸身高+妈身高)×0.54 女生...
答:include<stdio.h>void GetMess(char *sex,float *height){char ch1;printf("%s是否有良好的生活习惯<Y or N>: ",sex);while(scanf("%c",&ch1)!=1||!(ch1=='Y'||ch1=='y'||ch1=='N'||ch1=='n'))...

c语言预测子女身高,只用父母身高,其它不管
答: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)...

c语言 编写一段程序要求显示出身高和体重对照表如图所示,显示的身高范 ...
答:cm):"); scanf("%d",&gap); for (i=0;i<=(end-start)/gap;i++) { /*最大次数范围(结束-开始)/间隔*/ int x; /*变量身高*/x=start+i*gap; printf("%dcm %.2fkg"...

c语言预测子女身高
答: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)...

这第一题c语言怎么做啊?
答:include<stdio.h> int main(){ // sex是性别,取值为F(男)、M(女)// sport是体育运动,取值为Y(是)、N(否)// diet是饮食习惯,取值为Y(是)、N(否)char sex, sport, diet;// FHeight是父亲身高,MHeight是...

一道用C语言做的题 会的大哥帮帮忙啊!
答:我写了一个比较简单的,你可以参考下,不懂的可以PM我。include<iostream.h> double getnumber(char sex,char sport,char diet,double fH,double mH)//计算身高的公式 { double cH;//孩子的身高 if(sex=='M')//...

---身高问题
答:三、预测身高 身高是体型特征中最重要的一项指标,为世人关注,预测身高的方法有许多种,如用骨龄预测法、用足长预测法、用父母身高预测法、用儿童青少年当年身高预测法、用青春期开始时的身高预测法、数学预测法等。本册资料只将国内外...