收藏 分销(赏)

吉大11春学期C语言程序设计期末作业考核要求.doc

上传人:天**** 文档编号:3583699 上传时间:2024-07-10 格式:DOC 页数:17 大小:34KB 下载积分:8 金币
下载 相关 举报
吉大11春学期C语言程序设计期末作业考核要求.doc_第1页
第1页 / 共17页
吉大11春学期C语言程序设计期末作业考核要求.doc_第2页
第2页 / 共17页


点击查看更多>>
资源描述
#include<stdio.h> #include<conio.h> course_name(int i) { switch(i) { case 1:printf("数学"); break; case 2:printf("语文"); break; case 3:printf("政治"); break; case 4:printf("英语"); break; } } xianshi(long *p1,int (*p2)[100],int n,int m) { int i,j; printf("\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); printf("编号 学号"); for(i=1;i<=m;i++) { printf(" "); course_name(i); } printf("\n"); for(i=0;i<n;i++) { printf("(%d) %4ld",i,*(p1+i)); for(j=0;j<m;j++) printf(" %3d",*(*(p2+i)+j)); printf("\n"); } printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); out(); } print2(int m) { int i,j; printf("-----------------------------------提 示--------------------------------------\n"); for(i=1;i<=m;i++) {printf(" %d-->",i); course_name(i); } printf("\n------------------------------------------------------------------------------\n"); } out() { printf("\n\n\n\n\n\n\n按任意键继续(退出请按Esc键)......."); /* if(getch()==27) exit(1); else clrscr(); */ } stu_zhongfen(int (*p2)[100],int n,int m) { int sum,i,j; for(i=0;i<n;i++) { sum=0; for(j=0;j<m;j++) sum=sum+*(*(p2+i)+j); *(*(p2+i)+m)=sum; } } input(long *p1,int (*p2)[100],int n,int m) { int i,j; for(i=0;i<n;i++) { printf("\n□请输入第%d个学生的学号:",i+1); scanf("%ld",p1+i); for(j=0;j<m;j++) { printf("\n■请输入第%d门课程的成绩:",j+1); scanf("%d",*(p2+i)+j); } } printf("......输入完毕!\n"); out(); } edit(long *p1,int (*p2)[100],int n,int m) { long xuehao; int kecheng,fenshu,i,j; while(1) { printf("●请输入要修改成绩的学生的学号:\n"); scanf("%ld",&xuehao); for(i=0;i<n;i++) { if(*(p1+i)==xuehao) break; } if(i>=n) printf("该学好不存在!请从新输入!\n"); else break; } print2(m); printf("\n▲请输入你要修改的课程编号\n"); scanf("%d",&kecheng); printf("\n◆请输入修改后的分数:"); scanf("%d",&fenshu); *(*(p2+i)+kecheng-1)=fenshu; printf("\n.......修改成功.......\n"); out(); } /* delete(long *p1,int (*p2)[100],int n) { long xuehao; int i,j; printf("\n请输入你要删除成绩的学生的学号:"); scanf("%ld",&xuehao); for(i=0;i<n;i++) { if(*(p1+i)==xuehao) break; } for(j=i;j<n-1;j++) { *(p2+j)=*(p2+j)+1; *(p1+j0=*(p1+j)+1; } printf("\n删除成功!\n"); out(); } */ chaxun(long *p1,int (*p2)[100],int n,int m) { long xuehao; int counter=1,j=0,i; while(1) { printf("\n●请输入要查询的学生的学号:"); scanf("%ld",&xuehao); for(i=0;i<n;i++) { if(*(p1+i)==xuehao) break; } if(i>=n) printf("该学号不存在!请从新输入!\n"); else break; } stu_zhongfen(p2,n,m); while(j<n) { if(j!=i) { if(*(*(p2+j)+m)>*(*(p2+i)+m)) counter++; j++; } else j++; } printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); printf("\n 您要查询的学生信息如下:\n"); printf("\n"); printf(" 课程名 分数\n"); for(j=0;j<m;j++) { printf(" "); course_name(j+1); printf(" %4d\n",*(*(p2+i)+j)); } printf("\n 总分为:%3d\n",*(*(p2+i)+m)); printf(" 班级排名为:%3d\n",counter); printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); out(); } highestscore(int (*p2)[100],int n,int m) { int a[10]; int i,j,temp; printf("\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); printf("\n 课程 最高分\n"); for(j=0;j<m;j++) { for(i=1;i<n;i++) if(*(*(p2+0)+j)<*(*(p2+i)+j)) { temp=*(*(p2+0)+j); *(*(p2+0)+j)=*(*(p2+i)+j); *(*(p2+i)+j)=temp; } printf(" "); course_name(j+1); printf(" %3d\n",*(*(p2+0)+j)); } printf("\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); out(); } stu_average(long *p1,int (*p2)[100],int n,int m) { int i,j; float average[100]; stu_zhongfen(p2,n,m); for(i=0;i<n;i++) average[i]=*(*(p2+i)+m)/(float)m; printf("\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); printf("\n每个学生的平均分如下\n"); printf(" 编号 学号 平均分\n"); for(i=0;i<n;i++) printf(" %d %4ld %f\n",i,*(p1+i),average[i]); printf("\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); out(); } course_average(int (*p2)[100],int n,int m) { int a[10]; int i,j,sum; for(i=0;i<m;i++) { sum=0; for(j=0;j<n;j++) sum=sum+*(*(p2+j)+i); a[i]=sum; } printf("\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); printf("\n每门课程的平均分如下:\n"); printf(" 课程名 平均分\n"); for(i=0;i<m;i++) { printf(" "); course_name(i+1); printf(" %f\n",(float)a[i]/m); } printf("\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); out(); } course_jiangxu(int (*p2)[100],int n,int m) { int i,j,k,temp,a[100]; printf("\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); for(j=0;j<m;j++) { for(i=0;i<n;i++) a[i]=*(*(p2+i)+j); for(i=0;i<n-1;i++) { for(k=1;k<n;k++) if(a[i]<a[k]) { temp=a[i]; a[i]=a[k]; a[k]=temp; } } printf(" "); course_name(j+1); for(i=0;i<n;i++) printf(" %3d ",a[i]); printf("\n"); } printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); out(); } tongji(long *p1,int (*p2)[100],int n,int m) { int i,j=0,k,max,min,a[100]; print2(m); while(1) { printf("\n★请输入课程代号:\n"); scanf("%d",&k); if(k>m) printf("你输入的课程代号不正确,请按照上面的提示从新输入!\n"); else break; } while(1) { printf("\n▲请输入分数段:"); scanf("%d%d",&min,&max); for(i=0;i<n;i++) if(*(*(p2+i)+k-1)>=min&&*(*(p2+i)+k-1)<=max) { a[j]=i; j++; } if(j==0) printf("此分数段无学生!请从新输入!\n"); else break; } printf("\n课程"); course_name(k); printf("分数段%d---%d的学生信息如下:\n",min,max); printf("学号 分数\n"); for(i=0;i<j;i++) printf("%4ld %3d\n",*(p1+a[i]),*(*(p2+a[i])+k-1)); out(); } score_jiangxu(int (*p2)[100],int n,int m) { int i,j,k,temp,a[100]; float average[100]; stu_zhongfen(p2,n,m); printf("\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); for(i=0;i<n;i++) { a[i]=*(*(p2+i)+m); average[i]=*(*(p2+i)+m)/(float)m; } for(i=0;i<n-1;i++) { for(k=1;k<n;k++) if(a[i]<a[k]) { temp=a[i]; a[i]=a[k]; a[k]=temp; } } printf("排名 总分 平均分\n"); for(i=0;i<n;i++) printf("(%d) %3d %f\n",i+1,a[i],average[i]); printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); out(); } print1() { system("cls"); printf("★1.浏览学生信息 ★2.修改学生信息\n"); printf("★3.删除学生信息 ★4.查询学生成绩和排名\n"); printf("★5.查询每个学生的平均分 ★6.查询每门课程的平均分\n"); printf("★7.查询每门课程最高分 ★8.降序排列学生总分和平均分\n"); printf("★9.降序排列每门课程的分数 ★10.按课程名和分数段进行统计\n"); printf("请选择:"); } main() { int m,n,i; long *p1,num[100]; /*数组元素地址:*(指针变量+行下标)+列下标*/ int (*p2)[100],score[100][100]; printf("\n●请输入学生总数:"); scanf("%d",&n); printf("\n○请输入课程总数:"); scanf("%d",&m); p1=num; p2=score; printf("\n ★★现在请输入学号和成绩★★\n"); print2(m); input(p1,p2,n,m); while(1) { print1(); scanf("%d",&i); if(i<0||i>10) printf(".....输入错误!...."); else switch(i) { case 1: xianshi(p1,p2,n,m); break; case 2: edit(p1,p2,n,m); break; case 4: chaxun(p1,p2,n,m); break; case 5: stu_average(p1,p2,n,m); break; case 6: course_average(p2,n,m); break; case 7: highestscore(p2,n,m); break; case 8: score_jiangxu(p2,n,m); break; case 9: course_jiangxu(p2,n,m); break; case 10: tongji(p1,p2,n,m); break; } } }
展开阅读全文

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


开通VIP      成为共赢上传

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

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服