1008 - C语言程序设计教程(第三版)课后习题5.6
时间限制:1秒
内存限制:128兆
题目描述
给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。
90分以上为A
80-89分为B
70-79分为C
60-69分为D
60分以下为E
输入
一个整数0-100以内
输出
一个字符,表示成绩等级
样例输入
90
样例输出
A
本题要求进行分段输出,可以用if判断分数的值在哪个范围再进行输出,也可以使用switch语句
//方案一,if语句形式
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n>=90)
printf("A");
if(90>n&&n>=80)
printf("B");
if(80>n&&n>=70)
printf("C");
if(70>n&&n>=60)
printf("D");
if(n<60)
printf("E");
return 0;
}
//方案二,switch语句 , 使用本语句的问题在于如何将一个区间的分数变成一个值放入case语句中
//而这个问题可以利用整型变量的向下取整这样特点进行解决,由题目可知,所有的九十多分都为A
//八十多分都为B等等等等,我们不难发现每一种范围的十位数是相同的,可以将分数/10来判断十位
//数的大小,利用case语句输出结果
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
n=n/10;
switch(n)
{
case 10 :
case 9 : printf("A");break;
case 8 : printf("B");break;
case 7 : printf("C");break;
case 6 : printf("D");break;
default : printf("E");break;
}
return 0;
}