/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:gcd.cpp
*作 者:惠睿
*完成日期:2014年11月30日
*版 本 号:v1.0
*
*问题描述:从文件中读取成绩按成绩排序。
*程序输出:输出排序后的成绩单。
*/
#include <fstream> //操作文件必写
#include<cstdlib> //调用exit(1)需要包含cstdlib
#include<iostream>
#include<string>
using namespace std;
const int N=100;
int main()
{
int i,j,t;
string name[N];
double score[N];
int num=0;//实际的学生人数
string temp;
ifstream infile("score.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>name[num]>>score[num]) //当到达文件尾,则循环处理结束。
{
num++;
}
infile.close();
for(j=0; j<num-1; j++)
for(i=0; i<num-j-1; i++)
{
if(score[i]<score[i+1])
{
t=score[i];
score[i]=score[i+1];
score[i+1]=t;
temp=name[i];
name[i]=name[i+1];
name[i+1]=temp;
}
}
for(i=0; i<num; i++)
cout<<name[i]<<" "<<score[i]<<endl;
return 0;
}
运行结果: