首页 > 留学知识库

问题: 一个C++考试题

用C++语言编写一个程序,接收10名学员的成绩,并且统计学员的总成绩、平均分、最高分、最低分以及各分数段的人数。
具体要求如下:
1、 在主程序中,先给出如下提示:“请输入10名学员的成绩(输入格式为:80,90,66,78,34,60,99,67,89,67):”,换行后按照要求的格式输入10个正整数。要求定义一个一维数组Score[10],将这10个数放到这个数组中。
2、 统计这10个学员的总成绩、平均分、最高分和最低分,并且把这些数据显示出来,要求这些统计操作放在函数void Stat(int a[10])中实现,并且平均分保留1位小数。例如,输出的结果是:
总成绩:785分
平均分:78.5分
最高分:95分
最低分:58分
3、 在主程序中调用Stat函数后,继续实现根据不同分数段统计学员成绩的功能。要求分别统计85分以上的,70到84分的,60到69分的,60分以下的学员数量,计算出占所有学员数量(10名)的百分比,并显示出来。例如:输出的结果是:
根据分数段统计学员成绩:
85分以上的: 3名学员 占总学员数的30%
70—84分的: 5名学员 占总学员数的 50%
60—69分的: 1名学员 占总学员数的 10%
60分以下的: 1名学员 占总学员数的 10%






还有请大家帮 我 看下这个程序哪里错了。可以+++++++分的

解答:

#include<iostream.h>
void mian()
{
int Score[10],sum=0,max,min,i; /*定义数据*/

cout<<"请输入十个整数:"<<endl; /*输入提示*/
for(i=0;i<=9;i++)
cin>>Score[i]; /*循环语句把输入数据存到score数组里面*/
for(i=0;i<=9;i++)
{if(Score[i]>Score[i+1])
max=Score[i];} /*将最大的数赋值给max*/

for(i=0;i<=9;i++)
{ if(Score[i]<Score[i+1])
min=Score[i];} /*将最小的数赋值给min*/

for(i=0;i<=9;i++)
{ sum=sum+Score[i];
i++;}
/*求和Score[0]+Score[2]+Score[4]+Score[6]+Score[8]*/
/*自增2次*/
/*求和错了!!! 综括号里i++删掉*/
cout<<max<<" "<<min<<" "<<sum<<endl;
}