- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验7 数组学生绩管理系统v1.0
实验7 数组--学生成绩管理系统V1.0
实验目的:
熟悉一维数组编程
掌握排序,查找,统计分析等常用方法
实验题目:
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组 编程实现如下学生成绩管理:
录入每个学生的学号和考试成绩;
计算课程的总分和平均分;
按成绩由高到低排出名次表;
按学号由小到大排除成绩表;
按学号查询学生排名及其考试成绩;
按优秀(90~100),良好(80~89),中等(70~79),及格(60~69),不及格(0~59)5个类别,统计每个类别的人数以及所占的百分比;
输出每个学生的学号,考试成绩,课程总分和平均分。
程序如下:
?#includestdio.h
#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[],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;in;i++)
printf(学号:%ld,成绩:%f\n,number[i],score[i]);
sa(score,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;in;i++)
{
printf(请输入第%d位学号和成绩:如(000000,90.0):,i+1);
scanf(%ld,%f,number[i],score[i]);
}
}
void sa(float score[],int n)
{
int i;
float sum=0;
for(i=0;in;i++)
{
sum=sum+score[i];
}
printf(课程的总分为:%f\n,sum);
printf(课程的平均分为:%f\n,sum/n);
}
void sb(long number[],float score[],int n)
{
int i,j;
float temp;
long m;
for(i=1;in;i++)
for(j=0;jn-i;j++)
if(score[j]score[j+1])
{
temp=score[j];
m=number[j];
score[j]=score[j+1];
number[j]=number[j+1];
score[j+1]=temp;
number[j+1]=m;
}
for(i=0;in;i++)
printf(成绩第%d名成绩为:%ld,%f\n,i+1,number[i],score[i]);
}
void sc(long number[],float score[],int n)
{
int i,j;
float temp;
long m;
for(i=1;in;i++)
for(j=0;jn-i;j++)
if(number[j]number[j+1])
{
m=number[j];
temp=score[j];
number[j]=number[j+1];
score[j]=score[j+1];
number[j+1]=m;
score[j+1]=temp;
}
for(i=0;in;i++)
printf(学号由小到大为:%ld,%f\n,number[i],score[i
文档评论(0)