/
*copyright (c)2014,烟台大学计算机学院
*All rights reserved
*文件名称:789.cpp
*作者:孙春红
*完成日期:2014年11月24日
*版本号:v1.0
*
*问题描述:编写程序,使程序能够读取文件english.dat中的数据,求出最高成绩以及他们的学号。
*输入描述:略。
*程序输出:输出最高成绩以及他们的学号(假设0也是他们的学号)。
*/
#include<fstream> //处理文件要包括头文件fstream
#include<iostream>
#include<cstdlib> //调用exit(1)需要包含cstdlib
using namespace std;
int main( )
{
int max,score[100000],a=0,num,i=0;//给数组赋予足够大的空间
ifstream infile("english.dat",ios::in);
if(!infile) //测试文件打开操作是否成功
{
cerr<<"open error!"<<endl;
exit(1); //打开不成功,则提示后退出。
}
while(infile>>score[a])
{
a++;
}
max=score[0];
num=0;
for (i=0;i<a;i++)
{
if (score[i]>max)
{
max=score[i];
}
}
cout <<"这次考试的最高成绩是: "<<max<<" 分"<<endl;
cout <<"最高成绩的学生的学号是: "<<endl;
for (i=0;i<a;i++)//0也属于学号
{
if (score[i]==max)
{
num=i;
cout <<num<<" ";
}
}
infile.close();//关闭文件english。dat
return 0;
}
运行结果:
知识点总结:
学会运用数组进行数据的输入并且进行计算。
学习心得:
自上而下,逐步求精。特别是在写程序输出最大值和学号时,要注意很多细节。