多科成绩,,费劲啊!

来源:互联网 发布:智阳网络 编辑:程序博客网 时间:2024/04/28 09:22
Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作    者:庄子豪* 完成日期:2012 年  12月09日 * 版 本 号:v1.0 * * 输入描述: * 问题描述:* 程序输出:* 问题分析: *算法设计:
#include <iostream>#include <string>#include <cmath>double get_max_score(double a[][5],int num,int j);double get_min_score(double a[][5],int num,int j);double get_avg_score(double a[][5],int num,int j);double get_stdev_score(double a[][5],int num,int j);output_score(double a[][5],int num);using namespace std;int main(){int i,j,m,n,num;double score,a[10000][5];string b[5]={"学号","高数","英语","c++","总成绩"};cout<<"请输入学生数量:";cin>>num;for(i=0;i<num;i++){cout<<"请依次输入学号为"<<i<<"学生的高数,英语,c++成绩:";a[i][0]=i;for(j=1;j<4;j++){cin>>score;a[i][j]=score;}a[i][4]=a[i][1]+a[i][2]+a[i][3];}cout<<b[0]<<'\t'<<b[1]<<'\t'<<b[2]<<'\t'<<b[3]<<'\t'<<b[4]<<"\n";for(n=0;n<num;n++){cout<<"\n";for(m=0;m<5;m++){cout<<a[n][m]<<'\t';}}cout<<"\n";for(i=1;i<4;i++){cout<<b[i]<<"的最高成绩"<<get_max_score(a,num,i)<<",";cout<<"最低成绩是"<<get_min_score(a,num,i)<<", ";          cout<<"平均成绩是"<<get_avg_score(a,num,i)<<", ";          cout<<"成绩的标准偏差是"<<get_stdev_score(a,num,i)<<endl;}output_score(a,num);cout<<"\n";return 0;}double get_max_score(double a[][5],int num,int j){int i;double max;max=-1;for(i=0;i<num;i++){if(a[i][j]>max){max=a[i][j];}}return max;}double get_min_score(double a[][5],int num,int j){int i;double min;min=100000;for(i=0;i<num;i++){if(a[i][j]<min){min=a[i][j];}}return min;}double get_avg_score(double a[][5],int num,int j){int sum=0,i;for(i=0;i<num;i++){sum=sum+a[i][j];}return sum/num;}double get_stdev_score(double a[][5],int num,int j){int i;double b,x,sum=0;      b=get_avg_score(a,num,j);    for( i=0;i<num;i++)        {            x=a[i][j]-b;            sum+=x*x;        }        return sqrt(sum/(num-1));}output_score(double a[][5],int num)  {      double max=get_max_score(a,num,4);      int i,c=0;      bool first=true;      cout<<"总分最高分为"<<max;      for(i=0;i<num;++i)      {          if(a[i][4]==max)               ++c;      }      cout<<",有"<<c<<"人达到最高分,他们的学号是:";      for(i=0;i<num;++i)      {          if(a[i][4]==max)              if(first)              {                  cout<<i;                  first=false;              }              else              {                  cout<<"、"<<i;              }      }      cout<<endl;       double min=get_min_score(a,num,4);      c=0;      first=true;      cout<<"总分最低分为"<<min;      for(i=0;i<num;++i)      {          if(a[i][4]==min)               ++c;      }      cout<<",有"<<c<<"人达到最低分,他们的学号是:";      for(i=0;i<num;++i)      {          if(a[i][4]==min)              if(first)              {                  cout<<i;                  first=false;              }              else              {                  cout<<"、"<<i;              }      }      cout<<endl;  }  

 

贺老师,,为啥我电脑发代码的时候总是乱码,,??