1008 - C语言程序设计教程(第三版)课后习题5.6

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

猜你喜欢

转载自blog.csdn.net/w__000000wbt/article/details/83539906