问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作 者:陈文青
*完成日期:2014年11月25日
*版 本 号:v1.0
*
*问题描述:编程求出这次考试的最高成绩,以及得最高成绩的学生的学号(设学号即是相应数组元素的下标)。
*程序输入:
*程序输出:
*/
#include <fstream>
#include<iostream>
#include<cstdlib>
using namespace std;
int main( )
{
int s[10000],max=-1;
int i,count=0;
//以输入的方式(ios::in)打开文件
ifstream infile("english.dat",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>s[count]) //当读取成功……
{
if(s[count]>max)
max=s[count];
count++;
}
infile.close(); //读入完毕要关闭文件
//下面输出结果
cout<<"总人数为:"<<count<<endl;
cout<<"最高分为:"<<max<<endl;
cout<<"得最高分的同学的学号为:";
for(i=0; i<count; i++)
if(s[i]==max)
cout<<i<<" ";
cout<<endl;
return 0;
}
运行结果: