neuq-oj-1042

1.题目

给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’,80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’


输入

一个整数 0-100以内


输出

一个字符,表示成绩等级


样例输入

90


样例输出

A


2.题意

根据输入给不同的成绩分类,输出不同的成绩等级


3.思路

成绩等级无非5种,想到以switch-case语句来枚举五种情况,因为成绩等级只和十位有关,则想到用一个变量来储存十位,十位可以由输入的分数/10得到(整形变量除法舍去小数);也可以用if-else语句直接判断分数的范围来输出成绩等级。


4.代码

#include<iostream>
using namespace std;
int main()
{
	int x,f;//定义变量x为分数,f为分数的十位 
	cin>>x;//输入分数 
	if(x==100)f=9;//分数为100时仍是等级A,和十位为9是同一种情况,故令f=9; 
	else f=x/10;//将分数除以10,因为x是整形数据,小数部分舍去,故只留下个位,即原来的十位 
	switch(f)//对f进行判断 
 	{
 		case 9:cout<<"A";break;
 		case 8:cout<<"B";break;
 		case 7:cout<<"C";break;
 		case 6:cout<<"D";break;
 		default:cout<<"E";break;//default:为其余情况即分数低于60时的操作
 	}
 	return 0;
}


当然也可以运用switch语句的一个特性,当case语句执行完之后,若没有break则继续执行下一条语句,直到遇到break或者执行完switch-case中所有语句才退出。这样就省去了对100的特殊处理。

#include<iostream>
using namespace std;
int main()
{
	int x,f;//定义变量x为分数,f为分数的十位 
	cin>>x;//输入分数; 
	f=x/10;//将分数除以10,因为x是整形数据,小数部分舍去,故只留下个位,即原来的十位 
	switch(f)//对f进行判断 
	{
		case 10://当分数为100,f为10时直接向下执行,和f为9是输出相同	
		case 9:cout<<"A";break;
		case 8:cout<<"B";break;
		case 7:cout<<"C";break;
		case 6:cout<<"D";break;
		default:cout<<"E";break;//default:为其余情况即分数低于60时的操作
	}
	return 0;
}
也可以使用if-else语句 直接判断分数的范围来输出成绩等级

#include<iostream>
using namespace std;
int  main()
{
    int x;//定义变量x为分数
    cin>>x;//输入分数
    if(x>=90){//对分数的范围进行判断,输出相应的成绩dengj
        cout<<"A";
    }
    else if(x>=80 ){
        cout<<"B";
    }
    else if(x>=70 ){
        cout<<"C";
    }
    else if(x>=60 ){
        cout<<"D";
    }
    else{
        cout<<"E";
    }
 	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值