您的位置:首页 > 其它

彻底为贺老师解决了统计同学分数的问题

2013-11-27 17:30 309 查看
/*
*Corpyright (c)2013,烟台大学计算机学院
*All right reseved.
*作者:张梦佳
*完成日期:2013年11月27日
*版本号:v1.0
*输入描述:
*问题描述:统计C++小组的成绩
*程序输出:
*问题分析:
*算法设计:
*/
#include <iostream>
#include <cmath>

using namespace std;

int max(int score[50]);//自定义函数
int min(int score[50]);
double pingjun(int score[50]);
void max1(int score[50]);
void min1(int score[50]);
double piancha(int score[50]);

int n;//讲将同学数定义全局变量

int main(void)
{
int i;
int score[50];
cout<<"请输入小组共有多少名同学:";
cin>>n;//输入多少名同学
cout<<"请输入学生成绩:"<<endl;
for(i=0;i<n;i++)
{
cout<<"输入第"<<i<<"位同学的成绩是:";
cin>>score[i];
if(score[i]>100||score[i]<0)//当大于100或小于0是要重新输入;
i=i-1;
}

cout<<"最高成绩为:"<<max(score)<<",";
cout<<"最低成绩为:"<<min(score)<<",";
cout<<"平均成绩为:"<<pingjun(score)<<endl;
max1(score);
min1(score);
cout<<"标准偏差为:"<<piancha(score)<<endl;

}
int max(int score[50])//最大值函数
{
int num=0,i;
for(i=0;i<n;i++)
{
if(score[i]>num)
num=score[i];
}
return num;
}
int min(int score[50])//最小值函数
{
int num=100000,i;
for(i=0;i<n;i++)
{
if(num>score[i])
num=score[i];
}
return num;
}
double pingjun(int score[50])//平均值函数
{
int i;
double s=0,num=0;
for(i=0;i<n;i++)
{
s=score[i]+s;
}
num=s/i;
return num;
}
void max1(int score[50])//输出最大人数函数
{
int num=0,i,s=0;
for(i=0;i<n;i++)
{
if(score[i]>num)
num=score[i];
}
for(i=0;i<n;i++)
{
if(score[i]==num)
s=s+1;
}
cout<<"取得最高成绩"<<num<<"分的共"<<s<<"人"<<endl;
cout<<"他们的学号是";
for(i=0;i<n;i++)
{
if(score[i]==num)
{
if(i<10)
cout<<"0"<<i<<" ";
else
cout<<i<<" ";
}
}
cout<<endl;
return;
}
void min1(int score[50])//输出最小函数函数
{
int num=100000,i,s=0;
for(i=0;i<n;i++)
{
if(score[i]<num)
num=score[i];
}
for(i=0;i<n;i++)
{
if(score[i]==num)
s=s+1;
}
cout<<"取得最低成绩"<<num<<"分的共"<<s<<"人"<<endl;
cout<<"他们的学号是";
for(i=0;i<n;i++)
{
if(score[i]==num)
{
if(i<10)
cout<<"0"<<i<<" ";
else
cout<<i<<" ";
}

}
cout<<endl;
return;
}
double piancha(int score[50])//求标准偏差
{
int i,q;
double s=0,num=0,S,num1=0;
for(i=0;i<n;i++)
{
s=score[i]+s;
}
num=s/i;
for(q=0;q<n;q++)
{
num1=num1+(score[q]-num)*(score[q]-num);
}
S=sqrt(num1/(n-1));
return S;

}




感悟:

其实可以简化很多,不过我感觉这样条理更清晰,所以没简化。。

错误一定有,望指出-----
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: