C语⾔程序-学⽣成绩分等级显⽰程序。学⽣有数学、英语两门课。按百分制考核。要求输⼊各门课成。。。
⼀、问题描述
学⽣成绩分等级显⽰程序。学⽣有数学、英语两门课。按百分制考核。要求输⼊各门课成绩,按平均成绩分等显⽰。考核结果的等级标准如下:
excellence(优秀):平均成绩≥90;
all right(良好):80≤平均成绩<90;
middling(中等):70≤平均成绩<80;
pass(及格):60≤平均成绩<70;
fail(不及格):平均成绩<60。
⼆、问题分析
解决这个问题的过程可以分成两个阶段:
第⼀阶段为输⼊成绩和计算平均成绩阶段。
第⼆阶段为等级划分显⽰阶段。由于成绩分为五个等级,使⽤if语句处理时层次过深,不够直观清晰,我们选⽤switch结构解决这⼀问题。⾸先将分布在[0,100]范围的平均成绩值,映射到[0,10]的较⼩范围中,然后使⽤case个数相对较少的switch语句进⾏分等显⽰。
三、实现程序
代码如下:
#include<stdio.h>
#include "math.h"
void main(){
float a,b;
int ave;
switch的用法c语言repeat:printf("输⼊课程成绩(a,b): "); //语句标号
scanf("%f%f",&a,&b);
if(a<0||b<0)
goto repeat; //输⼊数据有负数时,要求重新输⼊
ave=(a+b)/2; //计算平均成绩
switch(ave/10){
case 10:
case 9:
printf("Result: excellence\n");
break;
case 8:
printf("Result: all right\n");
break;
case 7:
printf("Result: middling\n");
break;
case 6:
printf("Result: pass\n");
break;
default:
printf("Result: fail\n");
}
}
注:goto语句是⼀种⽆条件转移语句,主要⽤于控制程序的执⾏⽅向,也可以利⽤它反复地执⾏同⼀段程序。它的⽤法⽐较简单。⼀般格式为:goto 语句标号;
实现效果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论