C语言程序-学生成绩分等级显示程序。学生有数学、英语两门课。按百分制考核。要求输入各门课成绩,按平均成绩分等显示

这篇博客介绍了一个C语言程序,用于根据学生的数学和英语成绩计算平均分,并按照设定的等级标准显示成绩等级。程序使用了switch结构来简化条件判断,通过将平均成绩映射到[0,10]范围来实现。当输入成绩包含负数时,程序会提示重新输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题描述

学生成绩分等级显示程序。学生有数学、英语两门课。按百分制考核。要求输入各门课成绩,按平均成绩分等显示。考核结果的等级标准如下:

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;
 	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 语句标号;

实现效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆毛小叮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值