案例五:给出一百分制成绩,要求输出成绩等级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) ┊ 顶▼ ┊打印┊举报
转载列表:
转载
转载是分享博文的一种常用方式...
前一篇:判断某一年是否为闰年后一篇:企业发放的奖金根据利润提成
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");
}
}
#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);
}
#include
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");
}
#include
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);
}