| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 255 人关注过本帖
标题:这个程序错在哪里?初学者虚心请教.
收藏  订阅  推荐  打印 
zc13792229
Rank: 1
等级:新手上路
帖子:26
积分:360
注册:2007-4-5
这个程序错在哪里?初学者虚心请教.

题目是:输入一个百分制的学生成绩,然后把它转换成相应的'A','B','C','D','E'五个等级输出.其中90分以上为'A',80-89分为'B',70-79分为'C',60-69分为'D',60以下的为'E'.
以给出一个程序,叫我们改错
程序如下:
#include<stdio.h>
main()
{
float score;
char grade;
print("please input a student's score:");
scanf("%f",score);
if(score>100||score<0)
{
printf("\n input error,try again!");
scanf("%f",score);
}
switch(score/10)
{
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';break;
}
printf("score is %5.1f,score grade is %c\n",score,grade);
}


因为是初学者,所以改不完全,这个程序我已经修改过,不知道还有哪些地方不对,还请大家帮忙看一下
谢谢啊
搜索更多相关主题的帖子: score  虚心  
2007-4-5 17:52
QQ0001000
Rank: 3Rank: 3
等级:中级会员
帖子:225
积分:2426
注册:2007-3-29

scanf("%f",&score);不要忘记加上地址符号,一共有两个地方没有加上。

2007-4-5 17:56
I喜欢c
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:64
帖子:1718
积分:17032
注册:2007-3-2

以下是引用zc13792229在2007-4-5 17:52:01的发言:
题目是:输入一个百分制的学生成绩,然后把它转换成相应的'A','B','C','D','E'五个等级输出.其中90分以上为'A',80-89分为'B',70-79分为'C',60-69分为'D',60以下的为'E'.
以给出一个程序,叫我们改错
程序如下:
#include<stdio.h>
main()
{
float score;
char grade;
printf("please input a student's score:");
scanf("%f",&score);
if(score>100||score<0)
{
printf("\n input error,try again!");
scanf("%f",&score);
}
switch(score/10)
{
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';break;
}
printf("score is %5.1f,score grade is %c\n",score,grade);
}


因为是初学者,所以改不完全,这个程序我已经修改过,不知道还有哪些地方不对,还请大家帮忙看一下
谢谢啊

细心~```


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-4-5 18:06
zc13792229
Rank: 1
等级:新手上路
帖子:26
积分:360
注册:2007-4-5

哦,谢咯谢咯
就是有点粗心
呵呵

2007-4-5 19:57
wchx215
Rank: 2
等级:注册会员
帖子:70
积分:800
注册:2006-9-4
回复:(zc13792229)这个程序错在哪里?初学者虚心请教...

#include<stdio.h>
main()
{
float score;
char grade;
print("please input a student's score:");
scanf("%f",&score);
while(score>100||score<0) //保证输入的分数是正确的
{
printf("\n input error,try again!");
scanf("%f",&score);
}
switch(score/10)
{
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';break;
}
printf("score is %5.1f,score grade is %c\n",score,grade);
}
2007-4-5 20:31
zc13792229
Rank: 1
等级:新手上路
帖子:26
积分:360
注册:2007-4-5

谢谢谢谢
2007-4-5 20:50
circlesky
Rank: 1
等级:新手上路
帖子:18
积分:284
注册:2007-4-5

这个问题很典型,我发现很多初学者是这个问题!
2007-4-5 21:26
darenwu12345
Rank: 1
等级:新手上路
帖子:11
积分:210
注册:2007-4-6

注意switch(a)中a只能为int   enum   char

To Be or Not To Be!!!!!!
2007-4-6 19:49
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.057667 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved