/*
* Copyright (c) 2014,烟台大学计算机学院
* All right reserved.
*文件名:thirteen week 2.app
* 作者:柴银平
* 完成时间:2014年11月24日
* 版本号:v1.0
*
* 问题描述:这个程序可以实现:记录并求一组同学的成绩的平均值、最大值、最小值和找出最值得同学学号。
*程序输入:同学数目以及分数
*程序输出:输出平均值、最值以及相关学号。
*/
#include <iostream>
using namespace std;
int main()
{
int score[50];
int num,i=0;
cout<<"小组共有共有多少名同学?"<<endl;
cin>>num;
cout<<"请按照学号输入学生成绩(0—100):"<<endl;
while (i<num)
{
cout<<"第"<<i+1<<"位同学的成绩为:";
cin>>score[i];
if (score[i]>100||score[i]<0)
continue;
i++;
}
int max=-1,min=101,sum=0,ave;
for (i=0; i<num; i++)
{
sum+=score[i];
if (score[i]>max)
max=score[i];
if (score[i]<min)
min=score[i];
}
ave=sum/num;
int c=0,d=0;
for (i=0; i<num; i++)
{
if (score[i]==max)
++c;
if (score[i]==min)
++d;
}
cout<<"最高成绩为:"<<max<<" ";
cout<<"最低成绩为:"<<min<<" ";
cout<<"平均成绩为:"<<ave<<endl;
cout<<"取得最高分"<<max<<"的共有"<<c<<"人"<<" ";
cout<<"他们的学号是:";
for (i=0; i<num; i++)
{
if (score[i]==max)
cout<<i+1<<" ";
}
cout<<endl;
cout<<"取得最高低分"<<min<<"的共有"<<d<<"人"<<" ";
cout<<"他们的学号是:";
for (i=0; i<num; i++)
{
if (score[i]==min)
cout<<i+1<<" ";
}
return 0;
}
学习心得:
没有去求标准差,也在统计学号时出了错,加油吧!