成绩处理

来源:互联网 发布:马克斯cms整合播放器 编辑:程序博客网 时间:2024/05/16 18:24
/*         * Copyright (c) 2012, 烟台大学计算机学院         * All rights reserved.         * 作 者:  刘同宾       * 完成日期:2012 年 12 月 01 日         * 版 本 号:v1.0  *               * 输入描述:    * 问题描述:【项目2- 成绩处理】在数组score中将要存储某小组C++程序设计的成绩,请设计完成下面的各功能函数,并将它们组合成一个完整的应用:*  (1)输入小组人数及成绩;*  (2)输出该小组的最高成绩、最低成绩、平均成绩和成绩的标准偏差(标准偏差公式:,其中为样本,为均值,为样本数目);*  (3)输出考得最高成绩和最低成绩的同学的人数及对应的学号(设成绩对应的下标即学号,可能有相同的成绩)*  (4)(选做)输出前3名同学的学号——可以先不考虑有并列名次的情况,再考虑有并列的情况。* 程序输出:* 问题分析:略        * 算法设计:略         */#include<iostream>using namespace std;int n;int score[50];void input();int max();int min();double average();int count1(int s);void num(int s);int main(){int max1,min1;cout<<"请输入有几位学生:"<<endl;cin>>n;    input();max1=max();cout<<"最高成绩:"<<max1<<"共有:"<<count1(max1)<<"人。"<<endl;min1=min();cout<<"最低成绩:"<<min1<<"共有"<<count1(min1)<<"人。"<<endl;cout<<"平均成绩为:"<<average()<<endl;cout<<"最高成绩的学号有:";num(max1);cout<<"最低成绩的学号有:";num(min1);return 0;}//最高成绩int max(){int i;int max1=score[0];for(i=0;i<n;i++){if(score[i]>max1){max1=score[i];}}return max1;}//最低成绩int min(){int i;int min1=score[0];for(i=0;i<n;i++){if(min1>score[i]){min1=score[i];}}return min1;}//平均成绩double average(){int i;double t=0,average1;for(i=0;i<n;i++){t=t+score[i];}average1=t/n;return average1;}//最高,低,分数人数int count1(int s){int i;int count=0;;for(i=0;i<n;i++){if(score[i]==s){count++;}}return count;}//最高,低分的人的下标void num(int s){int i;for(i=0;i<n;i++){if(score[i]==s){cout<<i+1<<" ";}}}//输入函数void input(){int i;for(i=0;i<n;i++){cout<<"请输入第"<<i+1<<"个学生的成绩:";cin>>score[i];cout<<endl;}return;}

原创粉丝点击