问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:成绩处理.cpp
*作 者:白云飞
*完成日期:2014年11月23日
*版 本 号:v1.0
*
*问题描述:输入小组人数及成绩,输出最高成绩,最低成绩,平均成绩,考的最高成绩和最低成绩的同学人数和学号。
*程序输入:输入小组人数及成绩
*程序输出:输出最高成绩,最低成绩,平均成绩,考的最高成绩和最低成绩的同学人数和学号
*/
#include <iostream>
using namespace std;
int main()
{
int a[50]; //保存成绩的数组,不会超过50名
int num,i,t=0,ave=0;//声明变量
cout<<"小组共有多少名同学? ";
cin>>num;//输入num名同学的成绩
cout<<"请输入学生成绩:"<<endl;
for(i=0; i<num ; i++)//循环语句
{
cout <<"输入第"<<i<<"位学生成绩:";
cin>>a[i];
t+=a[i];
}
int max=1,min=999;//声明变量
for (i=0; i<num; i++ )//循环语句
{
if(a[i]>max)//判断max的值
max=a[i];
if(a[i]<min )//判断min的值
min =a[i];
}
cout <<"最高成绩为:"<<max<<" ";
cout <<"最低成绩为:"<<min<<" ";
ave=t/num;
cout<<"平均成绩为:"<<ave<<endl ;//求出并输出最高成绩、最低成绩和平均成绩
int maxnum=0,minnum=0;//声明变量
for (i=0; i<=num; i++ ) //循环语句
{
if(a[i]==max )//判断max的值
maxnum ++ ;
if(a[i]==min )//判断min的值
minnum ++ ;
}
cout<<"取得最高成绩"<<max<<"分的共"<<maxnum <<"人,他们的学号是:";
for (i=0; i<=num; i++ )//循环语句
{
if(a[i]==max )//判断max的值
cout <<i;
}
cout <<endl ;
cout<<"取得最低成绩"<<min <<"分的共"<<minnum <<"人,他们的学号是:";
for (i=0; i<=num; i++ )//循环语句
{
if(a[i]==min )//判断min的值
cout <<i<<" ";
}//求出并输出考得最高成绩和最低成绩人数以及学号
return 0;
}
运行结果:
学习心得:
充分利用数组,可以节省许多时间,让代码更加简洁。
1020

被折叠的 条评论
为什么被折叠?



