我做的C语言题,只能测得男生身高,女生不行,错误在哪里了? C语言找错。题目:根据以下人体标准身高预测公式计算某人身高,...

作者&投稿:尔方 (若有异议请与网页底部的电邮联系)
判断表达式要用 == 不是 = 哦,
if(a = 'B')所以不管你输入男女,它的内容都是B,当然无法检测女生了。
楼主下次要细心点。

#include<stdio.h>
void main()
{
    int a,b;
    printf("你是男是女?是男输入B是女输入G
");
    scanf("%c",&a);
    printf("你的身高是多少,单位为厘米
");
    scanf("%d",&b);
    if(a=='B')//
    {
        if(b>=168)
            printf("合格
");
        else
            printf("不合格
");
    }
    else if(a=='G')//
    {
        if(b>=158)
            printf("合格
");
        else
            printf("不合格
");
    }
    else
        printf("输入错误
");
}


if(a='B')——判断相等的关系运算符是“==”,你写成赋值运算了;

赋值表达式的结果就是a的值,非零就为真,所以这个判断总是成立的;
(还有下面的,判断也写成赋值了)

  1. 判断要用  == 

  2. char a; int b;  int类型变量不可以使用%c输入,VC6是这样,别的编译器不确定



大一c语言程序设计题目:预测身高,男生身高=(爸身高+妈身高)×0.54 女生身高=(爸身高×0.~

#includeint main(){ double height=0; int sex; printf("请输入您的性别:1(男 ) 2(女):
"); scanf("%d",&sex); double heightOfFather; double heightOfMother; printf("请输入您父母的身高:
"); scanf("%lf %lf",&heightOfFather,&heightOfMother); if(sex==1) height=(heightOfFather+heightOfMother)*0.54; else height=(heightOfFather*0.92+heightOfMother)/2.0; printf("请问您是否有良好的生活习惯 1(有) 0(没有)
"); int have; scanf("%d",&have); height = height +have*height*1.5/100.0; printf("请问您是否喜爱体育运动: 1(喜欢) 0(不喜欢)
"); int like; scanf("%d",&like); height = height +like*height*2.0/100.0; printf("您的身高应该是:%lf
",height); return 0;}
请输入您的性别:1(男 ) 2(女):
1
请输入您父母的身高:
1.78 1.56
请问您是否有良好的生活习惯 1(有) 0(没有)
1
请问您是否喜爱体育运动: 1(喜欢) 0(不喜欢)
1
您的身高应该是:1.867267
dty@ubuntu:~$ ./a.out
请输入您的性别:1(男 ) 2(女):
2
请输入您父母的身高:
1.78 1.56
请问您是否有良好的生活习惯 1(有) 0(没有)
1
请问您是否喜爱体育运动: 1(喜欢) 0(不喜欢)
1
您的身高应该是:1.655238

你那个判断的内容if (sex='m')应该改成if (sex=='m'),不然赋值sex='m'便被当作可执行,返回真值,无论sex的值为多少都会进行第一个条件内容的分支。
另外,给个建议,最好把if的条件补全,条件外的给个提示error。

我做的C语言题,只能测得男生身高,女生不行,错误在哪里了?
答:if(a = 'B')所以不管你输入男女,它的内容都是B,当然无法检测女生了。楼主下次要细心点。

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

一道用C语言做的题 会的大哥帮帮忙啊!
答:cout<<"孩子身高为:"<<getnumber(sex,sport,diet,fH,mH)<<endl;//调用计算公式 }

大一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语言编程,身高预测
答:printf("输入你父母的身高:");scanf("%lf,%lf",&faHeight,&moHeight);printf("输入你的性别(F代表女性,M代表男性):");getchar();scanf("%c",&sex);printf("是否喜爱体育锻炼?Y表示喜爱,N表示不喜爱");get...

c语言身高预测问题,帮忙看看哪里错了
答:char字符型变量,不能用%s获取,应该用%c。s是字符串类型,需要数组存储,你给的却是单个字符的指针,会溢出。也就是会把这个字符之外的地址也写入数据。本例中,比如以字符串写入diet,会把下一个位置的a的第一个字节...

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

C语言程序设计,身高的计算。请各位帮忙看看我的程序,多谢了!
答:int main(){ char sex,sports,diet;float faheight,moheight,height;printf("faheight="); //输入的单位以公斤计算 scanf("%f", &faheight); //输入的单位以公斤计算 printf("moheight=");scanf("%f", &m...

c语言身高预测问题,如何修改这段代码才能与题目给的输出对上
答:switch(sex){case 'F':height = (faheight * 0.923 + moheight) / 2;break;case 'M':height = (faheight + moheight) * 0.54;break;}getchar(); //<---不加这个,会导致后面读字符出错!scanf("%c",...

身高测量c语言编程
答:void main(){ char sex;int f,m;printf("测量人的性别(m/f):");scanf("%c",&sex);switch(sex){ case 'm':printf("%g",(1.7+1.6)*1.08/2);break;case 'f':printf("%g",(1.7+1.6*0.923)/2...