| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 529 人关注过本帖
标题:新人,求教~~
只看楼主 加入收藏
wee
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-6-23
收藏
 问题点数:0 回复次数:8 
新人,求教~~

学生百分成绩输入,等级为A,B,C,D,E。90以上为A,80-89为B,70-79为C ,60-69为D,
60一下为E。
#include <stdio.h>
void main ()
{
float sorce;
char grade;
printf("input sorce\n");
scanf("%f",&sorce);
while(sorce<0||sorce>100)
{
printf("erro");
}
(int)(sorce=sorce/10);
switch(sorce)
{
case10:
case9: grade='A';break;
case8: grade='B';break;
case7: grade='C';break;
case6: grade='D';break;
case5:
case4:
case3:
case2:
case1:
case0: grade='E';

}
printf("grade=%c\n",grade);
}


这是我自己写的,但是有错误,输出结果不对,但不知道哪错了,麻烦高人指点下。

[此贴子已经被作者于2006-6-24 21:22:33编辑过]

搜索更多相关主题的帖子: 新人 
2006-06-24 21:12
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用wee在2006-6-24 21:12:57的发言:

学生百分成绩输入,等级为A,B,C,D,E。90以上为A,80-89为B,70-79为C ,60-69为D,
60一下为E。
#include <stdio.h>
void main ()
{
float sorce;
char grade;
printf("input sorce\n");
scanf("%f",&sorce);
if(sorce<0||sorce>100)
{
printf("erro");
return 0;
}
sorce=sorce/10;
switch((int)sorce)
{
case 10:
case 9: grade='A';break;
case 8: grade='B';break;
case 7: grade='C';break;
case 6: grade='D';break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: grade='E';

}
printf("grade=%c\n",grade);
}


这是我自己写的,但是有错误,输出结果不对,但不知道哪错了,麻烦高人指点下。


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-24 22:02
wee
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-6-23
收藏
得分:0 
    楼上的别笑啊。。我就是最后输出字符不对,但是不知道哪错了,麻烦指点啊,。。
2006-06-24 22:20
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
不给你改过了吗..复制运行就可以了

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-24 22:21
wee
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-6-23
收藏
得分:0 
  斑竹老大可以说明白点吗,,我看了你改的,但是还是没明白我错在哪了字符输出不一样。就为了这道题,我看了答案,又看了自己写的,还真的一直没弄明白自己到底错在哪了。
2006-06-24 22:29
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用wee在2006-6-24 21:12:57的发言:

学生百分成绩输入,等级为A,B,C,D,E。90以上为A,80-89为B,70-79为C ,60-69为D,
60一下为E。
#include <stdio.h>
void main ()
{
float sorce;
char grade;
printf("input sorce\n");
scanf("%f",&sorce);
while(sorce<0||sorce>100) /* 无限循环.错误 */
{
printf("erro");
}
(int)(sorce=sorce/10); /* 你的强制类型转换概念不够 */
switch(sorce) /* 上面转了不代表下面也转,这是主要的错误 */
{
case10:
case9: grade='A';break; /* 可笑的错误.case 与 9之间需要有空格 */
case8: grade='B';break;
case7: grade='C';break;
case6: grade='D';break;
case5:
case4:
case3:
case2:
case1:
case0: grade='E';

}
printf("grade=%c\n",grade);
}


这是我自己写的,但是有错误,输出结果不对,但不知道哪错了,麻烦高人指点下。



[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-24 22:32
wee
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-6-23
收藏
得分:0 
谢谢老大啊。原来CASE与常量表达式之间要有空格。我 靠,老谭的这本书上这么重要的居然没写!!!!难怪我一直输出的字符不对。。。现在总算明白了。。。。太感谢了。

2006-06-24 22:39
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
以下是引用wee在2006-6-24 22:39:38的发言:
谢谢老大啊。原来CASE与常量表达式之间要有空格。我 靠,老谭的这本书上这么重要的居然没写!!!!难怪我一直输出的字符不对。。。现在总算明白了。。。。太感谢了。

睡不着觉怪床歪。谭老又背黑锅一口!


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-25 09:18
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1987
专家分:4
注 册:2006-7-1
收藏
得分:0 
是的,是没有空格啊,还有要注意的是 CASE 常量表达式后面最好要规范一点输出语句要写上printf("");

[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-07-16 00:11
快速回复:新人,求教~~
数据加载中...
 
   



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

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