编号及代码:
/*
*Copyright (c)2014,计算机与控制工程学院
*All rights reserved
*作者:范星月
*完成日期:2014年11月22日
*版本号:v1.0
*
*问题描述:实现关于成绩的各种功能,最高分,最低分,平均分,考的最高分的人数及学号,考的最低分的人数和学号,标准差等
*问题输入:输入成绩
*问题输出:输出成绩处理
*/
#include <iostream>
#include <cmath>
using namespace std;
const int SIZE=8;
int main(void)
{
int score[50]; //保存成绩的数组,不会超过50名
int num,i ; //小组人数
cout<<"小组共有多少名同学?";
cin>>num;
cout<<"请输入学生成绩:"<<endl;
//输入numb名学生的成绩
for (i=0; i<8; i++)
{
cout <<"输入第"<<i<<"位同学的成绩:";
cin >>score[i];
}
//求出并输出最高成绩、最低成绩及平均成绩
int max=-1,min=999,sum=0,eve;
for (i=0; i<8; i++)
{
sum+=score[i];
if (max<score[i])
max=score[i];
if (min>score[i])
min=score[i];
}
eve=sum/8;
cout <<"最高成绩为:"<<max<<", 最低成绩为:"<<min<<", 平均成绩为:"<<eve <<endl;
//求出并输出考的最高成绩和最低成绩人数
int max_num=0,min_num=0;
for (i=0; i<8; i++)
{
if (max==score[i])
max_num++;
if (min==score[i])
min_num++;
}
//输出最高成绩的人数和学号
cout <<"取得最高成绩"<<max<<"的共"<<max_num<<"人,他们的学号是";
for (i=0; i<8; i++)
{
if (max==score[i])
cout <<i<<" ";
}
cout <<endl;
//求出并输出最低成绩的人数和学号
cout<<"取得最低成绩"<<min<<"的共"<<min_num<<"人,他们的学号是";
for (i=0; i<8; i++)
{
if (min==score[i])
cout <<i<<" ";
}
cout <<endl;
//输出并求出标准差
sum=0;
int x;
for (i=0; i<8; i++)
{
x=score[i]-eve;
sum+=x*x;
}
cout <<"标准差为:"<<sqrt(double(sum)/(i-1));
return 0;
}
运行结果:
学习总结:在一次一次的运行中领悟到了自顶向下,逐步求精的内涵
学习心得:虽然搞了一下午,一个程序,但很有成就感