关闭

【项目2- 成绩处理】

520人阅读 评论(0) 收藏 举报

饿  回家了十天 玩了十天。。。。。。

在数组score中将要存储某小组C++程序设计的成绩,请设计实现下面的各功能函数,并在main函数中调用,组合成一个完整的应用:
  (1)输入小组人数及成绩,要保证成绩在0-100之间;
  (2)输出该小组的最高成绩、最低成绩、平均成绩;
  (3)输出考得最高成绩和最低成绩的同学的人数;
  (4)输出考得最高成绩和最低成绩的同学的学号(设数组下标即学号,可能有相同的成绩)。
  (5)(选做)求出所有同学成绩的标准偏差,标准偏差公式:
     
  其中为样本(即某同学成绩),为均值(前面已经求出),为样本数目;

#include <iostream>
#include<cmath>

using namespace std;
const int n=7;
int main()
{
    int score[n];    //保存成绩的数组,不会超过50名
    int num;        //小组人数
    cout<<"小组共有多少名同学?";
    cin>>num;
    cout<<"请输入学生成绩:"<<endl;
    //输入num名同学的成绩
    for(int i=0;i<n;i++)
  {
  	cout<<"输入第"<<i+1<<"名同学的成绩:";
  	cin>>score[i];
  	while(score[i]<0||score[i]>100)
	{
		cout<<"重新输入:";
		cin>>score[i];
	}
  }
    //求出并输出最高成绩、最低成绩和平均成绩
    int max=score[0];
    int min=score[0];
    double sum=0;
    for(int i=0;i<n;i++)
	{
		if(score[i]>max)max=score[i];
		if(score[i]<min)min=score[i];
		sum+=score[i];
	}
	cout<<"最高成绩为:"<<max;
	cout<<"最低成绩为:"<<min;
	cout<<"平均成绩为:"<<sum/n;

    //求出并输出考得最高成绩和最低成绩人数以及学号
    int m=0;int  l=0;
    for(int i=0;i<n;i++)
	{
		if(score[i]==max){m++;cout<<"最高分学号为:"<<i<<endl;}
		if(score[i]==min){l++;cout<<"最低分学号为:"<<i<<endl;}
	}
	cout<<"最高分人数为:"<<m;
	cout<<"最低分人数为:"<<l;
    //求出并输出标准偏差(选做)
    double  s=0;
    for(int i=0;i<n;i++)s+=(sum/n-score[i])*(sum/n-score[i]);
    cout<<"标准偏差为:"<<sqrt(s/(n-1))<<endl;

    return 0;
}

标准偏差貌似不太一样。。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:79054次
    • 积分:2081
    • 等级:
    • 排名:第18321名
    • 原创:126篇
    • 转载:13篇
    • 译文:1篇
    • 评论:11条
    最新评论