给出一百分制成绩,要求输出成绩等级为A、B、C、D、E,90分以上为A该怎样做?

如题所述

#include<iostream>

using namespace std;

void main(){

cout<<"请输入成绩";

int score;

cin>>score;

while(score<0||score>100){

cout<<"您输入的成绩不符合要求,请重新输入";

cin>>score;

}

switch(score/10){

case 10:

case 9:

cout<<"A";

break;

case 8:

cout<<"B";

break;

case 7:

cout<<"C";

break;

case 6:

cout<<"D";

break;

default:

cout<<"E";

}

system("pause");

}

这种情况是标准的使用switch的情况,用if也行,更简单:

#include<iostream>

using namespace std;

void main(){

cout<<"请输入成绩";

int score;

cin>>score;

while(score<0||score>100){

cout<<"您输入的成绩不符合要求,请重新输入";

cin>>score;

}

if(score>=90){

cout<<"A";

}else{

if(score>=80){

cout<<"B";

}else{

if(score>=70){

cout<<"C";

}else{

if(score>=60){

cout<<"D";

}else{

cout<<"E";

}

}

}

}

system("pause");

}

#include <stdio.h>

main()

{ float score;

char grade;

printf("请输入学生成绩:");

scanf("%f",&score);

while(score>100||(score<0)

{ printf("\n输入有误,请重新输入:");

scanf("%f",&score);

}

switch((int)(score/10))

{ case 10:

case 9: grade=’A’;break;

case 8: grade=’B’;break;

case 7: grade=’C’;break;

case 6: grade=’D’;break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0: grade=’E’;

}

printf("成绩是%5.1f,相应的等级是%c。\n",score,grade); 

说明:对输入的数据进行检查,如小于0或大于100,要求重新输入。(int)(score/10)的作用是将 (score/10) 的值进行强制类型转换,得到一个整型值。

温馨提示:答案为网友推荐,仅供参考
相似回答