问题及代码
/*
*ALL rights reserved.
*文件名称:shisanzhouxiangmu2
*作者:李长鸿
*完成时间:2014.11.20
*问题描述:成绩统计
*/
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int score[50],sum; //保存成绩的数组,不会超过 50名
int i; //小组人数
cout<<"小组共有多少名同学?";
cin>>sum;
cout<<"请输入学生成绩:"<<endl;
for(i=0; i<=sum-1; i++)
cin>>score[i];//输入num 名同学的成绩
int k,p=k=score[0],h=0;
double c;
for(i=1; i<=sum-1; i++)
{
if(score[i]>k)
k=score[i];
if(score[i]<p)
p=score[i];
h=score[i]+h;
}
c=(h+score[0])/sum;
cout<<"最高分为: "<<k<<'\n'<<"最低分为: "<<p<<endl<< "平均分为: "<<c<<endl;//求出并输出最高成绩、最低成绩和平均成绩
int a=0,b=0;
for(i=0; i<=sum; i++)
{
if(score[i]==k)
{
a++;
cout<<"获得最高分的学号为: "<<i<<endl;
}
if(score[i]==p)
{
b++;
cout<<"获得最低分的学号为: "<<i<<endl;
}
}
cout<<"获得最高成绩的共有人数:"<<a<<"人。"<<endl;
cout<<"获得最低成绩的共有: " <<b<<"人"<<endl;//求出并输出考得最高成绩和最低成绩人数以及学号
double s=0.0;
for(i=0; i<=sum; i++)
s=(score[i]-c)*(score[i]-c)+s;
s=sqrt(s/sum-1);
cout<<"标准差为: "<<s<<endl;//求出并输出标准偏差
return 0;
}
总结:平均数总是整数,可是我定义的是double?