成绩转换
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");elseprintf("%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. (HDU2004 c++) 成绩转换

    成绩转换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissi ...

  2. c语言成绩等级switch语句,请高手 帮忙做一道c语言题 编程,把百分制成绩转换成5级记分制,要求用switch语句。 90分以上(包括90):...

    请高手 帮忙做一道c语言题 编程,把百分制成绩转换成5级记分制,要求用switch语句. 90分以上(包括90): 关注:243  答案:6  mip版 解决时间 2021-02-04 20:52 提 ...

  3. 杭电ACM--2004成绩转换

    成绩转换 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  4. 100分制的成绩转换(C语言)(查表法)

    问题简述:将100分制的成绩转换成A.B.C.D.E和F. 问题分析: 一般教科书上,实现成绩转换功能用if语句或switch语句.用 查表法 来实现,可以做到逻辑简单,程序运行速度快,语句简洁. # ...

  5. HDU2023 求平均成绩【入门】

    求平均成绩 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  6. mysql一百转化为五分制_设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A,80~90分为B,...

    设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出.90分以上为A,80~90分为B,以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内 ...

  7. html成绩百分制转换为,设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A,80~90分为B,...

    设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出.90分以上为A,80~90分为B,以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内 ...

  8. Python学习记录(一)成绩转换

    场景: 用Python编写程序,实现成绩转换 具体描述: 使用随机数函数产生20个同学的成绩,存入文本文件ex4_scores.txt中:从文件中读入这些成绩,将其转换成等级,将成绩和等级存入文本文件 ...

  9. PY-pandas | 作业-体测成绩转换

    #%% # CY3761 | 2022-01-08 15:33 #%% # 此为 jupyter 模版, 执行 build 后记住先执行-全部运行 # 使用 DataSpell 进行编写文档 # 变量 ...

最新文章

  1. 倒计时7天!博客之星虚位以待,Macbook等你来拿
  2. 神经网络优化算法综述
  3. 嵌入式开发 ---必看图书
  4. git 学习笔记5--rm mv,undo
  5. python操作mongo(2)
  6. 第一篇博客——用来写自己
  7. Java的语法格式是什么?有哪些需要注意?
  8. 支持断线重连、永久watcher、递归操作 ZooKeeper 客户端
  9. 获取当前系统时间c语言,使用C语言获取当前系统的时间
  10. 直播平台搭建与相关资料
  11. Linux自学之旅-安装篇(格式化)
  12. Java二叉树的完全性检验
  13. VB.net,VB2005实现TCP协议编程
  14. 瀑布流效果Demo总结(4)之基于jquery+masonry.js的实现
  15. WES学习2:外显子测序分析——小男孩的硬骨化病基因突变
  16. 如何快速备份微信聊天记录到电脑
  17. 本人亲身实践,不要给软屏幕笔记本贴钢化膜(T_T)
  18. Excel演示神经网络原理(黑白数字0、1识别)
  19. 文字前的小图标HTML,Font Awesome实现文字链右边加一个箭头图标
  20. lombok get/set 方法未生效,解决办法

热门文章

  1. prometheus命令_Prometheus
  2. 什么是微服务_漫画:到底什么是微服务?
  3. 使用GDAL进行RPC坐标转换
  4. 数字高程模型和地图——thematicmapping.org译文(一)
  5. win10安装vbox没有虚拟网卡_消失的虚拟网卡
  6. 河流逻辑结构图生成方法
  7. android系统耗电如何关闭,安卓手机建议关闭这4大功能,耗电快的罪魁祸首?不用一天三充了...
  8. 国内达梦数据库相关函数-时间日期
  9. python mysql 数据类型_mysql学习:mysql数据类型有哪些?
  10. 64位linux安装mysql数据库吗_linux下怎么安装mysql数据库