C++ 十四周任务成绩处理2
2012-12-06 17:05
211 查看
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: array.cpp * 作 者: 王锴英 * 完成日期: 2012 年12 月6日 * 版本号: v1.0 * * 输入描述:无 * 问题描述: */ #include <iostream> #include<Cmath> using namespace std; //在这个问题中,成绩和人数是核心数据,适合作为全局变量处理 //将score设为全局变量,在各个函数中可以直接使 //小组人数也设为全局变量 void input_score(int n[],int num); int get_max_score(int score[],int num); int get_min_score(int score[],int num); double get_avg_score(int score[],int num); double get_stdev_score(int score[],int num); int count(int s,int score[],int num); void output_index(int s,int score[],int num); int main(void) { int max_score,min_score; int score[50]; int num; cout<<"小组共有多少名同学?"; cin>>num; cout<<endl<<"请输入学生成绩:"<<endl; input_score(score,num); //要求成绩在0-100之间 max_score=get_max_score(score,num); cout<<endl<<"最高成绩为:"<<max_score<<",共有 "<<count(max_score,score,num )<<" 人。"; min_score=get_min_score(score,num); cout<<endl<<"最低成绩为:"<<min_score<<",共有 "<<count(min_score,score,num )<<" 人。"; cout<<endl<<"平均成绩为:"<<get_avg_score(score,num); cout<<endl<<"标准偏差为:"<<get_stdev_score(score,num); cout<<endl<<"获最高成绩的学生(学号)有:"; output_index(max_score,score,num); cout<<endl<<"获最低成绩的学生(学号)有:"; output_index(min_score,score,num); return 0; } //input_score函数提供给同学们参考 //input_score函数的功能是输入小组成员的成绩 void input_score(int n[],int num) { int i; for(i=0;i<num;i++) do { cout<<"输入第 "<<i<<" 位同学的成绩:"; cin>>n[i]; }while (n[i]<0||n[i]>100); return; } // get_max_score()函数的功能是求出num名同学的最高成绩 int get_max_score(int score[],int num) { int i,max=-9999; for(i=0;i<num;i++){ if(score[i]>max) max=score[i]; } return max; } // get_min_score()函数的功能是求出num名同学的最低成绩 int get_min_score(int score[],int num) { int i,min=101; for(i=0;i<num;++i){ if(score[i]<min) min=score[i]; } return min; } // get_avg_score()函数的功能是求出num名同学的平均成绩 double get_avg_score(int score[],int num) { int i,sum=0,ave; for(i=0;i<num;++i){ sum=sum+score[i]; } ave=sum/num; return ave; } // get_ stdev _score()函数的功能是求出num名同学成绩的标准偏差 double get_stdev_score(int score[],int num) { int i,n,sum=0; double s; for(i=0;i<num;++i){ n=score[i]-get_avg_score(score, num); sum=sum+pow(n,2); } s=sqrt(sum/(num-1)); return s; } // count(int s)函数的功能是返回值score数组中为s的元素的个数 int count(int s,int score[],int num) { int i,n=0; for(i=0;i<num;++i){ if(score[i]==s) n++; } return n; } // output_index函数的功能是输出score数组中值为s的元素的下标(index) //注意:值为s的元素可能有多个 void output_index(int s,int score[],int num) { int i; for(i=0;i<num;++i){ if(score[i]==s) cout<<i<<" "; } }
运行结果:
反应有点儿迟钝,现在才发表……
相关文章推荐
- C++ 十四周任务-成绩处理
- C++第十七周【任务一】 学生成绩处理
- C++实现学生信息及成绩处理系统(面向对象的程序设计思想)
- C++第十四周【任务2】建立专门的链表类处理有关动态链表的操作
- C++第十四周【任务1】 建立专门的数组类处理有关数组的操作(加强版)
- C++十四周任务-数组大折腾
- C++第14周项目2—— 成绩处理
- C++第14周项目2——成绩处理
- 十四周【任务1】建立专门的数组类处理有关数组的操作数组是几乎所支持的组织数据的方法。
- 请教一下 贺老师。 第十四周C++【任务1】建立专门的数组类处理有关数组的操作
- 十四周项目2成绩处理
- C++ 十四周任务-冒泡法排序
- C++ 十四周任务-冒泡法排序
- 十四周——成绩处理(函数版)
- C++第14周项目3——成绩处理第二季
- 十六周任务二 学生成绩排序文件score.dat 中保存的是100 名学生的姓名和C++课、高数和英语成绩,将成绩排序后保存到ordered_score.dat文件中
- 第五周C++上机报告(对象数组处理成绩)
- 《C++第十七周实验报告1-1》---学生成绩处理:保存为二进制文件
- C++十四周任务-涨工资了……
- 第十六周C++【任务二】学生成绩排序