| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1120 人关注过本帖
标题:[求助] 关于switch 我刚开始学习C,求助各位xdjm关于 switch的问题
只看楼主 加入收藏
sennin
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-11-15
收藏
 问题点数:0 回复次数:10 
[求助] 关于switch 我刚开始学习C,求助各位xdjm关于 switch的问题

谭的书上的一道习题,求成绩等级的,我编了如下的东西,但是提示有错误,我搞不明白,望大家指点一下哪里有错误,多谢了

float g,b;
scanf("%f",&g);
b=g/10;
if(b<6.0)printf("E\n");
if(b>=9.0)printf("A\n");

switch(b)
{case 7.0:printf("D\n");break;
case 8.0:printf("C\n");break;
case 8.9:printf("B\n");break;
default :printf("He or she is genius\n");}

搜索更多相关主题的帖子: switch xdjm printf break case 
2007-11-15 11:08
yichun870
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-11-14
收藏
得分:0 

float g,b;
scanf("%f",&g);
b=g/10;
if(b<6.0)printf("E\n");
if(b>=9.0)printf("A\n");

switch(b)
{case 7.0:printf("D\n");break;
case 8.0:printf("C\n");break;
case 8.9:printf("B\n");break;
default :printf("He or she is genius\n");}
b,g是float类型的 比如是79/10=7.9 把b改成int就是了
#include <stdio.h>
main()
{
float g;
int b;
scanf("%f",&g);
b=g/10;
if(b<6)printf("E\n");
if(b>9)printf("A\n");

switch(b)
{
case 6:printf("D\n");break;
case 7:printf("C\n");break;
case 8:printf("B\n");break;
case 9:printf("A\n");break;
default :printf("He or she is genius\n");
}
}

2007-11-15 11:52
sennin
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-11-15
收藏
得分:0 
哦,明白了,改过来了,多谢帮助
2007-11-15 12:03
jisg_57
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-11-3
收藏
得分:0 
我还是想不明白,为什么float型的就不行了??
2007-11-15 12:19
sennin
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-11-15
收藏
得分:0 

我理解的是case后面必须接整型,所以要改成int。

2007-11-15 12:33
lovexuli
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-11-15
收藏
得分:0 
楼上正解!
2007-11-15 13:06
andy52052052
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-11-1
收藏
得分:0 
是啊
2007-11-15 16:25
angelwait
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-11-14
收藏
得分:0 

switch表达式 那是字符也可以吧

2007-11-15 18:20
sennin
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-11-15
收藏
得分:0 
可以,因为字符对应的ascii是整数。我也是初学,所以只能讲我是这样理解的
2007-11-15 18:22
codelet
Rank: 2
来 自:广东深圳
等 级:论坛游民
帖 子:61
专家分:37
注 册:2007-11-6
收藏
得分:0 

所谓字符,只不过是枚举类型的一种形式,实际上它就是整数。

'A' = 65, '9' = 57

更加深入一点, char类型就是int类型,用typedef enum 来定义。
枚举类型可以解放程序员,在声明时可以使用有意义的名字,而不
是通用的符号int。


Losing emotion, Finding devotion.
2007-11-16 07:26
快速回复:[求助] 关于switch 我刚开始学习C,求助各位xdjm关于 switch的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024173 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved