. 输入百分制的学生成绩,输出A(90-100),B(80-89),C(70-79),D(60-69),E(60分以下)等级C语言题目

需要完整 代码谢谢

案例五:给出一百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

1.程序分析:

设成绩用score表示,并且score为整型数据。若score≥90,score可能是100,99,…90,把这些值都列出来太麻烦了,可以利用两个整数相除,结果自动取整的方法,即当90≤score≤100时,score/10只有10和9两种情况,这样用switch语句来解决便简便了。

程序源代码:

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”,socre,grade);

}

5.程序运行结果:

① 请输入学生成绩:90.5

成绩是:90.5,相应的等级是A。

② 请输入学生成绩:59

成绩是:59.0,相应的等级是E。

6.案例扩展:由键盘输入学生成绩等级,输出成绩范围。等级评定同案例相同。

分享 分享到新浪Qing3


阅读(2015)┊ 评论 (0)┊ 收藏(0) ┊转载(0) ┊ 顶▼ ┊打印┊举报

转载列表:
转载
转载是分享博文的一种常用方式...

前一篇:判断某一年是否为闰年后一篇:企业发放的奖金根据利润提成
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-24
void main ()
{
int k;
while(1)
{printf("请输入学生成绩 ");
scanf("%d",&k);
if(k>=0&&k<60)
printf("分数等级:E\n");
else if(k>=60&&k<=69)
printf("分数等级:D\n");
else if(k>=70&&k<=79)
printf("分数等级:C\n");
else if(k>=80&&k<=89)
printf("分数等级:B\n");
else if(k>=90&&k<=100)
printf("分数等级:A\n");
else
printf("输入有误请重新输入:\n");
}
}
第2个回答  2011-11-30
#include "stdio.h"
void main ()
{
double kay;
printf("请输入学生成绩\n");
scanf("%lf",&kay);
if(key>=0 && key=<60)
printf("分数等级:E\n');
else if(key>=60&&key=<69)
printf("分数等级:D\n');
else if(key>=70&&key=<79)
printf("分数等级:C\n');
else if(key>=80&&key=<89)
printf("分数等级:B\n');
else if(key>=90&&key=<100)
printf("分数等级:A\n');
else
printf("输入有误请重新输入:");
scanf("%lf",&key);
}
第3个回答  2011-11-30
#include<stdio.h>
void main(){
int s;
printf("输入成绩:");
scanf("%d",&s);
if(s>100 || s<0)
printf("输入错误!\n");
else if(s>=90)
printf("A\n");
else if(s>=80)
printf("B\n");
else if(s>=70)
printf("C\n");
else if(s>=60)
printf("D\n");
else
printf("E\n");
}
第4个回答  2011-11-30
#include <stdio.h>
void main(void)
{
int score,no=0;
char grage[4]={60,70,80,90};
scanf("%d", &score);
while(score>=grage[no])
{
no++;
if(no>3) break;
}
printf("分数:%d ->等级: %c\n", score, 'E' - no);
}