提高第18课时,实践2,成绩处理
2015-05-08 20:27
190 查看
/* *Copyright(c) 2015/5/8 CSDN博客 *All rights reserved. *文件名称:main.c *作 者:金叶 *完成日期:2015/5/8 *版本号:V1.0 *问题描述:项目2 - 成绩处理 *在数组score中将要存储某小组C程序设计的成绩,请完成下面的处理: (1)输入小组人数及成绩,要保证成绩在0-100之间; (2)输出该小组的最高成绩、最低成绩、平均成绩; (3)输出考得最高成绩和最低成绩的同学的人数; (4)输出考得最高成绩和最低成绩的同学的学号(设数组下标即学号,可能有相同的成绩)。 */ #include <stdio.h> int max (int i); //作用:输出最高的成绩 int min (int i); //作用:输出最差的成绩 double aver (int i); //作用:算出平均分 int score[100];//成绩的数组定义为全局变量 int main() { int i,j; //i为同学数量 printf("小组一共有多少位同学:"); scanf("%d",&i); printf("请输入同学的成绩:\n"); for (j=0;j<i;j++){ printf("输入第 %d 位同学的成绩:",j); scanf("%d",&score[j]); if (score[j]<0||score[j]>100){ j--; continue; } } int max1; max1=max(i); int min1; min1=min(i); double aver1; aver1=aver(i); printf("平均成绩为%.2lf\n",aver1); int max_sum=0;//最高分同学的数量 int min_sum=0;//最低分同学的数量 for (j=0;j<i;j++){ if (score[j]==max1){ printf("最高分同学的学号为%d\n",j); max_sum++; } if (score[j]==min1){ printf("最低分同学的学号为%d\n",j); min_sum++; } } printf("最高分同学的数量为%d\n",max_sum); printf("最低分同学的数量为%d\n",min_sum); return 0; } int max (int i) { int a; int max=-1; for (a=0;a<i;a++){ if (score[a]>max){ max=score[a]; } } printf("最高成绩为%d\n",max); return max; } int min(int i) { int a; int min=101; for (a=0;a<i;a++){ if (score[a]<min){ min=score[a]; } } printf("最差成绩为%d\n",min); return min; } double aver (int i) { int a; double sum=0; double aver2; for (a=0;a<i;a++){ sum+=score[a]; } aver2=sum/i; return aver2; }
自我感觉做的很好,给自己赞一个 哈哈
相关文章推荐
- 提高第24课时,实践2,成绩处理V2.0 数组指针版
- 提高第18课时,实践1,数组大作战
- 提高第18课时,实践4,扑克牌
- 提高第18课时,实践5,发奖金
- 提高第27课时,实践4,查找成绩
- 提高第18课时,实践3,当年第几天(数组方案)
- 提高第40课时,实践,简易银行系统开发
- 提高第26课时,实践2,项目2 - 删除数组元素
- 提高第9课时,实践2,歌手大奖赛评分加强版
- 提高第21课时,实践3,有序数组中插入数据 (第2种方法)
- 第16周实践2.2 学生成绩的处理
- 第十四周上机实践项目——成绩处理(函数版)
- 提高篇 第16-19课后---项目2 - 成绩处理
- 第16周实践项目二——学生成绩处理(2)
- 提高第38课时,实践1,用命令行运行程序
- C语言提高-第18讲: 一维数组应用二三例(成绩处理)
- 《C++语言基础》实践参考——用二进制文件处理学生成绩
- 第26课时,实践2,成绩等级
- 提高第38课时,实践2,项目2 - 带行号显示文件
- C语言提高-第24/25讲: 数组名【指针】作为函数参数(成绩处理函数版)