杭电 acm 2004(成绩转换)

该博客介绍了一道ACM入门题目,要求将百分制成绩转换为对应的字母等级。博主提供了两种C语言解决方案,一种使用if语句,另一种使用switch语句。示例输入和输出展示了不同分数范围对应的成绩表示,并指出输入不在0~100范围时的错误提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:
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!

这题算是acm的入门题,就是通过一个选择结构,可以用if,也可以用switch。

代码如下:
第一种:使用if:
#include<stdio.h>
int main()
{
	int a;
	while (scanf("%d",&a)!=EOF)
	{
		if(a<0|a>100)
		{
			printf("Score is error!\n");
		}
		else if(a<60)
		{
			printf("E\n");
		}
		else if(a<70)
		{
			printf("D\n");
		}
		else if(a<80)
		{
			printf("C\n");
		}
		else if(a<90)
		{
			printf("B\n");
		}
		else
		{
			printf("A\n");
		}
	}
	return 0;
}

第二种:使用switch:
#include<stdio.h> 
#include<math.h> 
int main() 
{ 
    int n,i; 
    while(scanf("%d",&n)!=EOF) 
    { 
       if(n<0||n>100) 
       { 
           printf("Score is error!\n"); 
       } 
       else 
       { 
           n/=10; 
           switch(n)
           { 
               case 10:
               case 9: printf("A\n"); break; 
               case 8: printf("B\n"); break;
               case 7: printf("C\n"); break; 
               case 6: printf("D\n"); break;
               default: printf("E\n"); break;
           } 
       } 
    } 
    return 0;
 }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值