某班最多有不超过30人(具体人数由键盘输入)参加某门课程的考试。用一维数组作函数参数编程实现如下学生成绩管理系统:
(1)录入每个学生学号和考试成绩;
(2)计算课程的总分和平均分;
(3)按成绩由高到低排出名次表;
(4)按学号由小大排出成绩表;
(5)按学号查询学生排名及其考试成绩;
按优秀(90~100分)、良好(80~89分)、中等(70~79分)、及格(60~69分)、不及格(0~59分)5个类别,统计每个类别的人数及所占的百分比。
1、源代码
#include<stdio.h>
#include<stdlib.h>
#define STU_NUM 30 /*最多的学生人数*/
int Menu(void); /*Menu()函数原型,功能是显示菜单*/
void ReadScore(long num[],float score [],int n);
void AverSumofScore(float score[],int n);
void DeSortbyScore(long num[],float [],int n);
void AsSortbyNum(long num[],float score[],int n);
void SearchbyNum(long num[],float score[],int n);
void StatisticAnalysis(float score[],int n);
void PrintScore(long num[],float score[],int n);
int main()
{
char itemSelected; /*字符型变量itemSelected为菜单选项*/
int n=0; /*n为实际学生数,由用户输入*/
float score[STU_NUM]; /*一组数组score,长度为STU_NUM,用于存放学生成绩*/
long num[STU_NUM]; /*一组数组num,长度为STU_NUM,用于存放学生成绩*/
while(1)
{
itemSelected=Menu(); /*显示菜单,并读取用户输入*/
switch(itemSelected) /*根据菜单选项执行相应的程序*/
{
/*输入学生人数,向数组num和score顺序输入n个学生的学号和某门课的成绩*/
case 1:printf(