第十四周上机实践项目——函数处理

/*             
*程序的版权和版本声明部分:             
*Copyright(c)2013,烟台大学计算机学院学生            
*All rights reserved.            
*文件名称:             
*作者:刘中林             
*完成日期:2013年 12月01日             
*版本号:v1.0             
*对任务及求解方法的描述部分:标准偏差:sum1+=pow((score[i]-avg),2);g=sqrt(sum1/(num-1));             
*输入描述:输入看要求         
*问题描述: 无   
*程序输出: 成绩处理     
*问题分析: 无            
*算法设计:数组的应用             
*/
#include <iostream>
#include<cmath>
using namespace std;
int main(void)
{
    int score[50],n[50],o=0,l[50],f=0;    //保存成绩的数组,不会超过50名
    int num,i,g,s,j=0,m=0;        //小组人数
    cout<<"小组共有多少名同学?";
    cin>>num;
    cout<<"请输入学生成绩:"<<endl;
    //输入num名同学的成绩
	for(i=0;i<num;i++)
	{
        cout<<"输入第"<<i+1<<"位同学的成绩:";
	    cin>>score[i];
		while(score[i]<0||score[i]>100)
		{
            cout<<"输入有误,请重新输入第"<<i+1<<"位同学的成绩:";
			cin>>score[i];
		}
	}
 
    //求出并输出最高成绩、最低成绩和平均成绩
	cout<<"最高成绩为:";
	int max=0;
	for(i=0;i<num;i++)
	{
		if(score[i]>max)
		{
            max=score[i];
		}
		
	}
	cout<<max;
    cout<<"最低成绩为:";
	int min=101;
	for(i=0;i<num;i++)
	{
		if(score[i]<min)
		{
			min=score[i];
		}
	}
	cout<<min;
    cout<<"平均成绩为:";
	int sum=0,avg;
	for(i=0;i<num;i++)
	{
	    sum+=score[i];
        avg=sum/num;
	}
	cout<<avg<<endl;
 
    //求出并输出考得最高成绩和最低成绩人数以及学号

	for(i=0;i<num;i++)
	{
		
	    if(score[i]==max)
		{
			j++;
			n[o]=i;
			o++;
		}
	}
	cout<<"取得最高成绩"<<max<<"分的共"<<j<<"人,"<<"他们的学号是:";
	
    for(int b=0;b<o;b++)
	{
		cout<<n[b]+1<<" ";
	}
	cout<<endl;
    for(i=0;i<num;i++)
	{
		
	    if(score[i]==min)
		{
			m++;
			l[f]=i;
			f++;
		}
	}
    cout<<"取得最低成绩"<<min<<"分的共"<<m<<"人,"<<"他们的学号是:";
	
	for(int a=0;a<f;a++)
	{
		cout<<l[a]+1<<" ";
	}
    cout<<endl;
    //求出并输出标准偏差(选做)
	cout<<"标准偏差为:";
	for(i=0;i<num;i++)
	{
		int sum1=0;
		sum1+=pow((score[i]-avg),2);
		g=sqrt(sum1/(num-1));
	}
	cout<<g<<endl;
    return 0;
}


 

*样例输出:

第十四周上机实践项目——函数处理_第1张图片

*心得体会:我始终相信天道酬勤。。

 

你可能感兴趣的:(第十四周上机实践项目——函数处理)