模块化程序设计1411班李睿尹伊君孙浩然_第1页
模块化程序设计1411班李睿尹伊君孙浩然_第2页
模块化程序设计1411班李睿尹伊君孙浩然_第3页
模块化程序设计1411班李睿尹伊君孙浩然_第4页
模块化程序设计1411班李睿尹伊君孙浩然_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、模块化程序设计(成绩管理)土木类1411班 李睿 0121406261127 尹伊君 0121406261125 孙浩然 0121406261128实验要求:要求输入不超过35个学生的学号及成绩,对这些成绩进行管理。1. 输入学号及成绩2. 找出最高分3. 求出平均分4. 对成绩进行排序5. 对成绩进行等级评估6. 根据学号查找某一个学生的成绩程序实现编程 (二维数组)#include<stdio.h>#include<conio.h>#dcfinc n 35void input (int score2, int n);void output (int score2,

2、int n);void sort (int score2, int n);int max(int score2, int n);float average (int score2, int n);void stat(int score2, int n);void find (int score2, int n)int i;for(i=0;i<n;i+)if(scorci0=n)printf ("id=%d, score=%ct, n, scorei1);void main () int scoren2, choice;int n;printfc欢迎进入学生成绩管理系统n); p

3、rintf (学生人数:);scanf (d, &n);printfc输入学生学号及成绩n);input (score, n);doprintf c 1. maxn,z);printf (“2. averagen/z);printf (,z3. sortn);printf c 4. statistic analysisnz/);printf (“0.exit");printf (/zyour choice is(0-4):);seanf (%d, &choice);swi tch(choice)case 0:printf cexit!“);break;case 1:

4、printf (max=%dmax (score, n) ; break;case 2:printf (“average=%. 2fn,average(score, n) ;break;case 3:sort (score, n);printf("sorted:);output(score, n);break;case 4:stat(score, n);break;default:printf (,zerror choice, try againn);while(choice!=0);printf (zzn输入要查找学生的学号:);scanf (d,&n);find(scor

5、e,n);getch();void input(int score2, int n) int i;for(i=0;i<n;i+) scanf(d%d", &scorei0,&scorei1); void output(int scorc2, int n)int i;for(i=0;i<n;i+)printf (,%d%5d/,, scorei 0, scorei 1) ;printf (n);void sort(int score2, int n) int i, j, t;for(i=0;i<nl;i+)for(j=0;j<n-i-l;j+)i

6、f (scorej1<scorej+l 1) t=scorej1;scorejl=scorej+1 1;scorej+ll=t;int max(int scorc2, int n) int i, m=score0 1;for (i=l;i<n;i+)if (m<scorei 1)m二scorei 1;rcturn m;float average(int score2, int n)int i,sum=0;for(i=0;i<n;i+)sum+=scorci 1;return (float)sum/n;void stat (int score2, int n) int i

7、;int a, b, c, d;a=b=c=d=o;for(i=0;i<n;i+) if (scorei1>=85)a+;else if(scoreil>=70)b+;else if(scorei1>=60)c+;else if(scorei1<60)d+;printf c等级: a (>=85) b (>=70) c 0=60) d «60) n,z);printf(z,n);printf (,z人数:%2d%2d%2d%2dn,a, b, c, d);printf (/z所占百分比: %4. if%4. if%4. if%4. lfn,(

8、float)a/n*100,(float)b/n*100, (float)c/n*100, (float)d/n*100);运行结果欢迎进入学生成绩管理系统学生人数:6输入学生学号及成绩1234j6556857896981 .max2. auerage3. sort4. statistic analysis0.exityour choice is<0-4>:1max=981 .nax2. average3. sort4. statistic analsfsisb.exityour choice is<0-4>:2average =79.671 .nax2. averag

9、e3. sort4. statistic analysis0.exityour choice is<0-4>:3sorted:! 982963854785656561 .max2. average3. sort4. statistic analsis0.exityour choice is<0-4>:4等级: a<>=85>b<>=70>c<>=60>d«60>人数:听占百分比:1 .max2. average3. sort4. statistic350.0116.7116.7116.7analysi

10、sscore=85q.exityour choice is<0-4:0 exit? ? 输入要查找学生的学号:3 id=3,模块解释主函数部分 (小组成员共同完成)#include<stdio. h>#include<conio. h>define n 35 void main() int scoren2, choice;int n;printfc欢迎进入学生成绩管理系统);printf ("学生人数:”);scanf ("%d: &n); printfc输入学生学号及成绩n);input (score, n);do printf (,

11、z1. maxn,z);printf (,z2. avcragcnz,);printf (,z3. sortn,z);printf (,z4. statistic analysisn,z);printf c 0.exit");printf(,zyour choice is(0-4):);seanf ("%d", &choice);switch(choice) case 0:printf (z,exit! !“);break;case 1:printf (“max=%dn", max (score, n) ;break;case 2: printf

12、 (,zaverage=%. 2frt, average (score, n) ; break;case 3:sort (score, n);printf("sorted:);output (score, n);break;case 4:stat (score, n);break;default:printf (,zerror choice, try againn);while(choice!=0);printf (zzn输入要查找学生的学号:);scanf (d,&n);find(score,n);gctcho ;函数声明部分void input (int scorc2,

13、int n);void output (int score2, int n);void sort (int score2, int n);int max(int score2, int n);float average(int score2, int n);void stat (int scorc2, int n);学号及成绩输入输出模块 void input(int scorc2, int n) int i;for(i=0;i<n;i+) scanf(d%d", &scorei0, &scorei1); void output(int score2, int

14、n)int i;for(i=0;i<n;i+)printf (d%5d", scorei0, scorei1) ;printf (n);成绩排序模块void sort (int score2, int n)int i, j, t;for (i=0;i<n-l;i+)for (j=0;j<n-i-l;j+)if (scorej1<scorej+l1) t=scorej1;scorej1二scorej+l1;scorej+ll=t;找出最高分模块int max(int score2, int n) int i, m=scorc01;for(i=l;i<n;i

15、+)if(m<scorei 1)m=scorei 1;return m;求平均数模块float average (int score2, int n)int i,sum二0;for(i=0;i<n;i+)sum+=scorei 1;return (float)sum/n;成绩评估模块void stat (int score2, int n)int i;int a, b, c, d;a=b=c=d=o;for(i=0;i<n;i+) i f (scorei1>=85)a+;else if(scoreil>=70)b+;else if(scorei1>=60)c+;else if(scorei1<60)d+;printf c等级: a (>=85) b (>=70) c 0=60) d «60) n,z);printf(z,n);printf (,z人数:%2d%2d%2d%2dn,a, b, c, d);printf (/z所占百分比: %4. if%4. if%4. if%4. lfn,(float)a/n*100,(float)b/n*100

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论