<pre name="code" class="html">/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:陈丹妮
* 完成日期:2014年 11 月 24 日
* 版 本 号:v1.0
*
* 问题描述: 成绩的处理
* 输入描述: 输入一些整型数
* 程序输出: 输出处理后的成绩
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int score[50];
int num,i,n1=0,n2=0,max,min,sum=0;
double total=0,s;
cout<<"小组共有多少名同学?:";
cin>>num;
cout<<"请输入学生的成绩:"<<endl;
for(i=0; i<num; ++i)
{
cout<<"输入第"<<i+1<<"位同学的成绩:";
cin>>score[i];
if(score[i]>100||score[i]<0)
{
i-=1;
continue;
}
sum=sum+score[i];
}
cout<<endl;
for(i=1,max=score[0]; i<num; ++i)
{
if(score[i]>max)
max=score[i];
else
continue;
}
for(i=1,min=score[0]; i<num; ++i)
{
if(score[i]<min)
min=score[i];
else
continue;
}
for(i=0; i<num; ++i)
{
if(score[i]==max)
n1++;
if(score[i]==min)
n2++;
}
sum=sum/num;
cout<<"最高成绩为:"<<max<<"最低成绩为:"<<sum<<endl;
cout<<"取得最高成绩"<<max<<"的人数共有"<<n1<<"人,他们的学号是:";
for(i=0; i<num; ++i)
{
if(score[i]==max)
cout<<i<<" ";
}
cout<<endl;
cout<<"取得最低成绩"<<min<<"的人数共有"<<n2<<"人,他们的学号是:";
for(i=0; i<num; ++i)
{
if(score[i]==min)
cout<<i<<" ";
}
cout<<endl;
for(i=0; i<num; ++i)
{
total=total+(score[i]-sum)*(score[i]-sum);
}
s=total/(num-1);
s=sqrt(s);
cout<<"标准偏差为:"<<s;
return 0;
}
学习心得:写程序的时候,记得可以一个个小问题的解决,即,采用“渐进式”策略,实现一个功能后调试通过,再实现下一个功能。
尽管这是参考别别人程序后,自己在写下的,但我相信明白了之后,多打几遍,我定会拿下它。
加油!!!