/*@Class计134~4
*@Author:薛富磊
*@Time:2013-11-26
*@Function:在数组score中要存储某小组C++程序设计的成绩;
1.输入小组人数,要保证成绩在0~100之间;
2.输出该小组的最高成绩 最低成绩 平均成绩;
3.输出考得最高和最低成绩的人数;
4.输出考得最高和最低成绩同学的学号(数组下标为学号);
5.(选做)求出所有同学成绩的标准差
*@Args:
*@Return:
*/
#include <iostream>
#include<cmath>
using namespace std;
int main(void)
{
double sum=0,ave,sum3,sum4;
int score[50]; //保存成绩的数组,不会超过50名
int num,i,max=0,min=0,sum1=0,sum2=0; //num为小组人数 sum1 sum2分别为最高最低成绩人数
cout<<"小组共有多少名同学?\n";
cin>>num;
cout<<"请输入学生成绩:\n";
for(i=0;i<num;i++) //输入Num名学生成绩
{
cout<<"\t学号为"<<i<<"的同学成绩\t";
cin>>score[i];
if(score[i]>100||score[i]<0)
{
cout<<"\t请重新输入:\t\t";
cin>>score[i];
}
sum+=score[i];
}
for(i=0;i<num;i++) //求并输出最高最低成绩 平均成绩
{
if(score[max]<=score[i])
max=i;
if(score[min]>=score[i])
min=i;
}
ave=sum/num;
cout<<"\n最高成绩为:"<<score[max];
cout<<"\n最低成绩为:"<<score[min];
cout<<"\n平均成绩为:"<<ave;
for(i=0;i<num;i++) //求并输出考的最高和最低成绩的人数
{
if(score[i]==score[max])
++sum1;
if(score[i]==score[min])
++sum2;
}
cout<<"\n最高成绩的人数为:"<<sum1;
cout<<"\n最低成绩的人数为:"<<sum2;
cout<<"\n最高成绩的学号分别为:";
for(i=0;i<num;i++)
{ //求并输出考的最高和最低成绩的人数
if(score[i]==score[max])
cout<<i<<"\t";
}
cout<<"\n最低成绩的学号分别为:";
for(i=0;i<num;i++)
{
if(score[i]==score[min])
cout<<i<<"\t";
}
for(i=0;i<num;i++)
{ //求并输出标准差
sum3=(ave-score[i])*(ave-score[i]);
sum4+=sum3;
}
cout<<"\n标准差为:"<<sqrt(sum4)/(num-1);
return 0;
}
第十四周——成绩处理函数版
最新推荐文章于 2021-07-13 00:55:44 发布