成绩处理 第二季

来源:互联网 发布:淘宝客服售后处理方法 编辑:程序博客网 时间:2024/04/27 19:56
/** 程序的版权和版本声明部分* Copyright (c)2012, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: array.cpp* 作 者:徐本锡* 完成日期: 2012年11 月28 日* 版本号: v1.0** 输入描述:无* 问题描述:成绩处理器*/#include <iostream>#include<Cmath>using namespace std;void input_score(int score[1],int num);int get_max_score(int score[1],int num);int get_min_score(int score[1],int num);double get_avg_score(int score[1],int num);double get_stdev_score(int score[1],int num);int count(int score[1],int s,int num);void output_index(int score[1],int s,int num);int main(void){int score[1]; int max_score,min_score,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(score,max_score,num)<<"人";min_score=get_min_score(score,num);cout<<endl<<" 最低成绩为: "<<min_score<<" ,共有 "<<count(score,min_score,num)<<"人";cout<<endl<<" 平均成绩为: "<<get_avg_score(score,num);cout<<endl<<" 标准偏差为: "<<get_stdev_score(score,num);cout<<endl<<" 获最高成绩的学生 ( 学号 ) 有: ";output_index(score,max_score,num);cout<<endl<<" 获最低成绩的学生 ( 学号 ) 有: ";output_index(score,min_score,num);return 0;}//input_score 函数提供给同学们参考//input_score 函数的功能是输入小组成员的成绩void input_score(int score[1],int num){int i;for(i=0;i<num;i++){cout<<" 输入第 "<<(i+1)<<" 位同学的成绩: ";cin>>score[i];}return;}// get_max_score() 函数的功能是求出 num 名同学的最高成绩int get_max_score(int score[1],int num){static int max=0,i;for(i=0;i<num-1;i++){if(max<=score[i])max=score[i];}return max;}// get_min_score() 函数的功能是求出 num 名同学的最低成绩int get_min_score(int score[1],int num){static int min=score[0],i;for(i=0;i<num-1;i++){if(min>=score[i])min=score[i];}return min;}// get_avg_score() 函数的功能是求出 num 名同学的平均成绩double get_avg_score(int score[1],int num){int sum=0,i;double avg;for(i=0;i<num;++i){sum=sum+score[i];}avg=sum/num;return avg;}// get_ stdev _score() 函数的功能是求出 num 名同学成绩的标准偏差double get_stdev_score(int score[1],int num){double sum,avg,s;int i;avg=get_avg_score(score,num);for(i=0;i<num;++i){sum=pow((score[i]-avg),2)+sum;}s=sqrt(sum/(num-1));return s;}// count(int s) 函数的功能是返回值 score 数组中为 s 的元素的个数int count(int score[1],int s,int num){int i,j=0;for(i=0;i<num;++i){if(score[i]==s)j=j+1;}return j;}// output_index 函数的功能是输出 score 数组中值为 s 的元素的下标 (index)// 注意:值为 s 的元素可能有多个void output_index(int score[1], int s,int num){int i;for(i=0;i<num;++i){if(score[i]==s)cout<<i+1<<'\t';}return;}

原创粉丝点击