1、实验7 数组——学生成绩管理系统V1.0
实验目的:
1. 熟悉一维数组编程
2. 掌握排序,查找,统计分析等常用方法
实验题目:
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组 编程实现如下学生成绩管理:
1. 录入每个学生的学号和考试成绩;
2. 计算课程的总分和平均分;
3. 按成绩由高到低排出名次表;
4. 按学号由小到大排除成绩表;
5. 按学号查询学生排名及其考试成绩;
6. 按优秀(90~100),良好(80~89),中等(70~79),及格(60~69),不及格(0~59)5个类别,统计每个类别的人数以及所占的百分
2、比;
7. 输出每个学生的学号,考试成绩,课程总分和平均分.
程序如下:
#include
#define N 30
void main()
{
int i,n;
long number[N];
float score[N];
void input(long number[],float score[],int n);
void sa(float score[],int n);
void sb(long number[],float score[],int n);
void sc(long number[]
3、float score[],int n);
void sd(long number[],float score[],int n);
void se(float score[],int n);
void sf(long number[],float score[],int n);
printf(”输入学生人数:”);
scanf(”%d",&n);
input(number,score,n);
for(i=0;i〈n;i++)
printf(”学号:%ld,成绩:%f\n”,number[i],score[i]);
sa(score,
4、n);
sb(number,score,n);
sc(number,score,n);
sd(number,score,n);
se(score,n);
sf(number,score,n);
}
void input(long number[],float score[],int n)
{
int i;
for(i=0;i5、
}
}
void sa(float score[],int n)
{
int i;
float sum=0;
for(i=0;i6、)
if(score[j]7、core[],int n)
{
int i,j;
float temp;
long m;
for(i=1;i〈n;i++)
for(j=0;j8、i9、mber[j]=number[j+1];
score[j+1]=temp;
number[j+1]=m;
}
printf(”请输入要查询的学生学号:”);
scanf(”%ld",&sn);
for(i=0;i10、i11、\n",(100*b)/n);
printf(”中等(70~79)的人数为:%d\n",c);
printf("中等率:%d%%\n”,(100*c)/n);
printf(”及格(60~69)的人数为:%d\n",d);
printf(”及格率:%d%%\n”,(100*d)/n);
printf("不及格(0~59)的人数为:%d\n",e);
printf(”不及格率:%d%%\n",(100*e)/n);
}
void sf(long number[],float score[],int n)
{
int i;
for(i=0;i〈n;i++)
printf(”学生学号为%ld的成绩是:%f\n",number[i],score[i]);
void sa(float score[],int n);
sa(score,n);
}