收藏 分销(赏)

实验7-数组学生成绩管理系统v1.0.doc

上传人:可**** 文档编号:4576685 上传时间:2024-09-30 格式:DOC 页数:5 大小:21.54KB 下载积分:8 金币
下载 相关 举报
实验7-数组学生成绩管理系统v1.0.doc_第1页
第1页 / 共5页
实验7-数组学生成绩管理系统v1.0.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
实验7 数组——学生成绩管理系统V1.0 实验目的: 1. 熟悉一维数组编程 2. 掌握排序,查找,统计分析等常用方法 实验题目: 某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组 编程实现如下学生成绩管理: 1. 录入每个学生的学号和考试成绩; 2. 计算课程的总分和平均分; 3. 按成绩由高到低排出名次表; 4. 按学号由小到大排除成绩表; 5. 按学号查询学生排名及其考试成绩; 6. 按优秀(90~100),良好(80~89),中等(70~79),及格(60~69),不及格(0~59)5个类别,统计每个类别的人数以及所占的百分比; 7. 输出每个学生的学号,考试成绩,课程总分和平均分. 程序如下:  #include<stdio。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;i〈n;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;i<n;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;i<n;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;i〈n;i++) for(j=0;j<n—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;i<n;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;i〈n;i++) for(j=0;j<n-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;i<n;i++) printf("学号由小到大为:%ld,%f\n",number[i],score[i]); } void sd(long number[],float score[],int n) { int i,j; float temp; long m,sn; for(i=1;i<n;i++) for(j=0;j〈n-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; } printf(”请输入要查询的学生学号:”); scanf(”%ld",&sn); for(i=0;i<n;i++) { if(number[i]==sn) printf(”查询学生的学号%ld,成绩为%f\n",sn,score[i]); } } void se(float score[],int n) { int a=0,b=0,c=0,d=0,e=0,i; for(i=0;i<n;i++) { switch((int)score[i]/10) { case 10: case 9:a=a+1;break; case 8:b=b+1;break; case 7:c=c+1;break; case 6:d=d+1;break; default:e=e+1; } } printf("优秀(90~100)的人数为:%d\n”,a); printf("优秀率:%d%%\n",(100*a)/n); printf(”良好(80~89)的人数为:%d\n”,b); printf("良好率:%d%%\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); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服