成绩处理。

来源:互联网 发布:sqlserver客户端安装 编辑:程序博客网 时间:2024/06/10 15:13
/*             02.* 程序的版权和版本声明部分             03.* Copyright (c)2012, 烟台大学计算机学院             04.* All rightsreserved.             05.     06.* 作    者:董万鹏                                    07.* 完成日期:2012年12月2日             08.* 版 本 号: v1.0                   09.* 输入描述:无             10.* 问题描述:     11.* 程序输出:  lue       12.* 问题分析:      13.*/              #include <iostream>#include<Cmath>using namespace std;//在这个问题中,成绩和人数是核心数据,适合作为全局变量处理int score[50]; //将 score 设为全局变量,在各个函数中可以直接使用int num; //小组人数也设为全局变量void input_score();int get_max_score();int get_min_score();double get_avg_score();double get_stdev_score();int count(int);void output_index(int);int main(void){int max_score,min_score;cout<<"小组共有多少名同学?";cin>>num;cout<<endl<<"请输入学生成绩:"<<endl;input_score(); //要求成绩在 0-100 之间max_score=get_max_score();cout<<endl<<"最高成绩为:"<<max_score<<",共有 "<<count(max_score)<<" 人。";min_score=get_min_score();cout<<endl<<"最低成绩为:"<<min_score<<",共有 "<<count(min_score )<<" 人。";cout<<endl<<"平均成绩为:"<<get_avg_score();cout<<endl<<"标准偏差为:"<<get_stdev_score();cout<<endl<<"获最高成绩的学生(学号)有:";output_index(max_score);cout<<endl<<"获最低成绩的学生(学号)有:";    output_index(min_score);return 0;}//input_score函数的功能是输入小组成员的成绩void input_score(){int i;for(i=0;i<num;i++)do{cout<<"输入第 "<<i<<" 位同学的成绩:";cin>>score[i];}while(score[i]<0||score[i]>100);return;}int get_max_score()//得到的是最大值。{int i,max;max=score[0];for(i=1;i<num;i++){if(score[i]>max){max=score[i];}}   return max;}int count(int s)//得到的是分数的人数{int i,j=0;for(i=0;i<num;i++){if(score[i]==s)j++;}return j;}int get_min_score()//得到最小值{int i,min;min=score[0];for(i=1;i<num;i++){  if(score[i]<min){min=score[i];}}return min;}double get_avg_score()//平均值{int sum,i;double avg;sum=score[0];for(i=1;i<=num;i++)sum+=score[i];avg=sum/num;return avg;}double get_stdev_score()//标准差{int M,W,i,sum=0;double D;for(i=0;i<num;i++){M=score[i]-(get_avg_score());W=M*M;sum+=W;}    D=sqrt(sum/(num-1));    return D;}void output_index(int s)  // output_index 函数的功能是输出score 数组中值为s 的元素的下标(index){      int i;      for(i=0;i<num;++i)      {          if(score[i]==s)  cout<<i<<" ";      }      cout<<endl;}   

原创粉丝点击