C语言求解

#include<stdio.h>Voidmain(){charcha;scanf(“%c”,&cha);cha=(cha>=97&&cha<=122)?cha-32:c... #include<stdio.h>
Void main()

char cha;
scanf(“%c”,&cha);
cha=(cha>=97&&cha<=122)?cha-32:cha;
switch(cha)
{
case ‘A’:printf(“80-100\n”);
case ‘B’:printf(“70-79\n”);
case ‘C’:printf(“60-69\n”);break;
case ‘D’:printf(“0-59\n”);break;
default : printf(“error\n”); break; }}
输出结果为什么是??
70-79
60-69
而不是只有70-79
展开
 我来答
A吧cb707xicPD
2014-06-15 · 超过60用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:143万
展开全部
我去,你也太大意了吧!
1、定义的bml变量是小写的: float w,h,bmi;在后面各处使用该变量的时候却是大写的:BMI=fBMI(w,h);

2、scanf函数名你又打多了一个字母t:scantf("%f,%f",&w,&h);

3、定义的函数fbmi,调用函数的时候同样大小写不匹配:BMI=fBMI(w,h);

4、if里面的条件又写错了:
else if(BMI>=18.5&&<=24.9){
printf("正常");
}
else if(BMI>=25.0&&<=29.9){
(假定你的变量改正大小写后为BMI)应该是:
else if(BMI>=18.5&&BMI<=24.9){
printf("正常");
}
else if(BMI>=25.0&&BMI<=29.9){
printf("超重");
}
superCoder1992
推荐于2016-11-17 · 超过17用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:43.1万
展开全部
case ‘B’:printf(“70-79\n”);后面不+break,就会一直case下去,知道最后或者遇到break
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5508万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
名字随意啊
2014-06-16 · 超过13用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:26.5万
展开全部
你在case ‘B’:printf(“70-79\n”);后面加break;
#include<stdio.h>
void main()
{
char cha;
scanf("%c",&cha);
cha=(cha>=97&&cha<=122)?cha-32:cha;
switch(cha)
{
case 'A':
printf("80-100\n");
break;
case 'B':
printf("70-79\n");
break;
case 'C':
printf("60-69\n");
break;
case 'D':
printf("0-59\n");
break;
default :
printf("error\n");
break;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式