第13周 项目3-成绩处理函数版

/* 
 * Copyright (c) 2014, 烟台大学计算机学院 
 * All rights reserved. 
 * 文件名称:test.cpp 
 * 作    者:呼亚萍 
 * 完成日期:2014年 11 月 24日 
 * 版 本 号:v1.0 
 * 
 * 问题描述:编写程序实现求小组人数及成绩,保证在0-100之间,输出小组成绩的最高成绩,最低成绩,平均成绩,标准差,最高分和最低分人数,以及他们的学号

 * 输入描述:相应的程序
 * 程序输出:小组人数及成绩和小组成绩的最高成绩,最低成绩,平均成绩,标准差,最高分和最低分人数,以及他们的学号
 */

#include <iostream>
#include<cmath>
using namespace std;
void input_score(int s[], int n);

int get_max_score(int s[], int n);

int get_min_score(int s[], int n);

double get_avg_score(int s[], int n);

double get_stdev_score(int s[], int n);

int count(int x, int s[], int n);

void output_index(int x, int s[], int n);

int main(void)
{

    int score[50];
    int num;
    int max_score,min_score;

    cout<<"小组共有多少名同学?";
    cin>> num;
    cout<<endl<<"请输入学生成绩:"<<endl;

    input_score(score, num);

    max_score=get_max_score(score, num);

    cout<<endl<<"最高成绩为:"<<max_score<<",共有 "<<count(max_score, score, num )<<" 人。";

    min_score=get_min_score(score, num);

    cout<<endl<<"最低成绩为:"<<min_score<<",共有 "<<count(min_score,score, num )<<" 人。";

    cout<<endl<<"平均成绩为:"<<get_avg_score(score, num);

    cout<<endl<<"标准偏差为:"<<get_stdev_score(score, num);

    cout<<endl<<"获最高成绩的学生(学号)有:";


    output_index(max_score,score, num);

    cout<<endl<<"获最低成绩的学生(学号)有:";

    output_index(min_score,score, num);

    cout<<endl;

    return 0;

}
void input_score(int s[], int n)
{
    int i;


    for(i=0; i<n; i++)
        do
        {
            cout<<"第"<<i+1<<"位同学的成绩为:";
            cin>>s[i];
        }
        while(s[i]>100||s[i]<0);
    return;
}
int get_max_score(int s[], int n)
{
    int i,max=-1;
    for(i=0; i<n; i++)
    {
        if(s[i]>max)
            max=s[i];
    }
    return max;
}
int get_min_score(int s[], int n)
{
    int i,min=101;
    for(i=0; i<n; i++)
    {
        if(s[i]<min)
        min=s[i];
    }
    return min;
}
double get_avg_score(int s[], int n)
{
    int i, total=0,ave;
    for(i=0; i<n; i++)
    {
        total+=s[i];
    }
    ave=total/n;
    return ave ;
}
double get_stdev_score(int s[], int n)
{
    double sum=0,mean_score,x;
    mean_score = get_avg_score(s,n);
    int i;
    for(i=0; i<n; i++)
    {
        x=s[i]-mean_score;
        sum+=x*x;
    }
    return sqrt(sum/(n-1));
}
int count(int x, int s[], int n)
{
    int i,j=0;
    for(i=0; i<n; i++)
    {
        if(s[i]==x)
            j++;
    }
    return j;
}
void output_index(int x, int s[], int n)
{
    int i;
    for(i=0; i<n; i++)
    {
        if(x==s[i])
        {
            cout<<i+1<<" ";
        }
    }
    return;
}



运算结果:

 

知识点总结:

在计算标准差的时候,需要使用计算平均数的函数,在使用时,定义了mean-score使将其赋值为平均数的函数,带入运算,在for语句中,条件后不能带";",否则无法输出结果

学习心得:

在学习过程中,要细心,同时,在实践过程中学习到新的知识,使我记忆深刻,加油!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的纺织品企业财务管理系统,源码+数据库+毕业论文+视频演示 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对纺织品企业财务信息管理的提升,也为了对纺织品企业财务信息进行更好的维护,纺织品企业财务管理系统的出现就变得水到渠成不可缺少。通过对纺织品企业财务管理系统的开发,不仅仅可以学以致用,让学到的知识变成成果出现,也强化了知识记忆,扩大了知识储备,是提升自我的一种很好的方法。通过具体的开发,对整个软件开发的过程熟练掌握,不论是前期的设计,还是后续的编码测试,都有了很深刻的认知。 纺织品企业财务管理系统通过MySQL数据库与Spring Boot框架进行开发,纺织品企业财务管理系统能够实现对财务人员,员工,收费信息,支出信息,薪资信息,留言信息,报销信息信息的管理。 通过纺织品企业财务管理系统对相关信息的处理,让信息处理变的更加的系统,更加的规范,这是一个必然的结果。已经处理好的信息,不管是用来查找,还是分析,在效率上都会成倍的提高,让计算机变得更加符合生产需要,变成人们不可缺少的一种信息处理工具,实现了绿色办公,节省社会资源,为环境保护也做了力所能及的贡献。 关键字:纺织品企业财务管理系统,薪资信息,报销信息;SpringBoot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值