HDU2004 成绩转换【入门】
成绩转换
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 272272 Accepted Submission(s): 116712
Problem Description
输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
Input
输入数据有多组,每组占一行,由一个整数组成。
Output
对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
Sample Input
56
67
100
123
Sample Output
E
D
A
Score is error!
Author
lcy
Source
C语言程序设计练习(一)
问题链接:HDU2004 成绩转换
问题简述:(略)
问题分析:
按Markdown格式重写了题解,旧版题解参见参考链接。
一般教科书上,实现成绩转换功能用if语句或switch语句,那是浮云。用查表法来实现,可以做到逻辑简单,程序运行速度快,语句简洁。
最早写的该题的题解是查表法,用数组来实现表格,程序基本上不需要逻辑。这是一种高超的编程技巧。
这个题也可以使用语句来实现,跟其他书籍或网上题解不同的地方在于,程序中把输入逻辑、输出逻辑与计算逻辑分开来写。逻辑分开的好处在于,修改程序时不会相互影响,对于简单问题也许没有必要,但是工程上应该这样来做。
程序说明:解题程序用C语言来实现,方便初学编程的人。
参考链接:HDU2004 成绩转换【入门】
题记:能用查表法来实现那是高手。
AC的C语言程序(查表法)如下:
/* HDU2004 成绩转换 */
#include <stdio.h>
int main(void)
{
int score;
char convert[] = "EEEEEEDCBAA";
while(scanf("%d", &score) != EOF) {
if(score < 0 || score > 100)
printf("Score is error!\n");
else
printf("%c\n", convert[score/10]);
}
return 0;
}
AC的C语言程序(switch语句)如下:
/* HDU2004 成绩转换 */
#include <stdio.h>
int main(void)
{
int score;
while(scanf("%d", &score) != EOF) {
if(score < 0 || score > 100)
printf("Score is error!\n");
else {
char ans;
switch(score / 10) {
case 10:
case 9:
ans = 'A';
break;
case 8:
ans = 'B';
break;
case 7:
ans = 'C';
break;
case 6:
ans = 'D';
break;
default:
ans = 'E';
}
printf("%c\n", ans);
}
}
return 0;
}
AC的C语言程序(if语句)如下:
/* HDU2004 成绩转换 */
#include <stdio.h>
int main(void)
{
int score;
while(scanf("%d", &score) != EOF) {
if(score < 0 || score > 100)
printf("Score is error!\n");
else {
char ans;
if(score >= 90) ans = 'A';
else if(score >= 80) ans = 'B';
else if(score >= 70) ans = 'C';
else if(score >= 60) ans = 'D';
else ans = 'E';
printf("%c\n", ans);
}
}
return 0;
}
推荐阅读
-
HDU2004 成绩转换【入门】
-
算法笔记(入门篇1-入门模拟)--进制转换--问题 B: 数制转换
-
《算法笔记》3.5小节——入门模拟->进制转换 问题 B: 数制转换
-
C语言 十进制和十六进制相互转换 - C语言零基础入门教程
-
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
-
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
-
c#入门之类型转换详解
-
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
-
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
-
pdf转换成word转换器12.0注册码 PHP中PDO基础教程 入门级