HDU2004 成绩转换【入门】

 

成绩转换

 

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 163383    Accepted Submission(s): 71157

 

 

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 成绩转换

问题简述:将100分制的成绩转换成A、B、C、D、E和F。

问题分析

  一般教科书上,实现成绩转换功能用if语句或switch语句,那是浮云。用查表法来实现,可以做到逻辑简单,程序运行速度快,语句简洁。

程序说明:(略)。

题记

  也许许多人编写完这样的程序,最想说的一句话是:“我是天才!如此地与众不同。”

 

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语言程序如下:

/* 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语言程序如下:

/* 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;
}

 

 

 

 

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值