【项目三】成绩
一、问题及代码
/*
* 文件名称: 项目三-成绩
* 作 者: 刘俊博
* 完成日期: 2017年 5月 11日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述: 10个人的成绩
* 问题描述: 求最高、最低、平均成绩、标准差
* 程序输出: 最高、最低、平均成绩、标准差
* 问题分析:
* 算法设计:
*/
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double A[10],B[10],C[10],max,min,sum=0,f=0,s;
int i,a,b,c,d,e;
cout<<"请输入小组人数:\n";
cin>>i;
for(a=0;a<i;a++)
{
cout<<"请输入同学"<<a+1<<"的成绩:";
cin>>A[a];
cout<<endl;
}
max=min=A[0];
for(a=0;a<i;a++)
{
if(A[a]>max)
max=A[a];
if(A[a]<min)
min=A[a];
sum=sum+A[a];
}
for(a=b=c=d=e=0;a<i;a++)
{
if(max==A[a])
{ d++;
B[b]=a+1;
b++;
}
if(min==A[a])
{
e++;
C[c]=a+1;
c++;
}
}
cout<<"最高:"<<max<<" 人数:"<<d<<"人\n最低:"<<min<<" 人数:"<<e<<"人\n平均:"<<sum/i<<endl;
cout<<"最高学号:";
for(a=0;a<b;a++)
cout<<B[a]<<"号 ";
cout<<"最低学号:";
for(a=0;a<c;a++)
cout<<C[a]<<"号 ";
cout<<endl;
for(a=0;a<i;a++)
f=f+(A[a]-sum/i)*(A[a]-sum/i);
s=sqrt(f/(i-1));
cout<<"标准差:"<<s<<endl;
return 0;
}
二、运行结果
三、学习心得:定义数组宽度时一定要用常量,不能用变量。
四、知识点总结:数组是把具备相同数据类型的若干变量按有序的形式组织起来的集合。