问题及代码
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 11 月 26 日
* 版 本 号:v1.0
*
* 问题描述: 编程求出这次考试的最高成绩,以及得最高成绩的学生的学号(设学号即是相应数组元素的下标)。
* 输入描述:若干名学生的英语成绩。
* 程序输出:考试的最高成绩,以及得最高成绩的学生的学号;
*/
#include <fstream> //操作文件必写
#include<iostream>
#include<cstdlib> //调用exit(1)需要包含cstdlib
using namespace std;
int main( )
{
int grade,max=-999,i=0,a[10000];
double evg;
//打开文件,要使用文件必须正确打开,对输出文件,注意写ios::out
// f1.dat是要“写”的文件名,你可以起你喜欢的名字,如myfile.txt
ifstream infile("english.dat",ios::out);
if(!infile) //测试文件打开操作是否成功
{
cerr<<"open error!"<<endl;
exit(1); //打开不成功,则提示后退出。
}
while(infile>>grade)
{
a[i]=grade;
if(grade>max)
max=grade;
i++;
}
infile.close();
cout<<"最高成绩为:"<<max<<endl;
cout<<"最高成绩同学的学号为:";
for(int n=0; n<=i; n++)
{
if(a[n]==max)
cout<<n<<" ";
}
return 0;
}
运行结果:
学习感悟:一开始没想到居然有10000个数据。。。。