C++数据读入并排序输出

题目:

某大学开田径运动会,现有12名选手参加100米比赛,对应的运动员号及成绩放在文件中,请读入文件中数据,并按照成绩排名将结果输出至新文件,要求用冒泡法排序。

/*某大学开田径运动会,现有12名选手参加100米比赛,对应的运动员号及成绩放在文件中,
请读入文件中数据,并按照成绩排名将结果输出至新文件,要求用冒泡法排序。*/ 

#include <iostream> 
#include <fstream>
using namespace std;
typedef struct Sporter{  
	int num;
    float score;
}SPORTER;

int main()
{   
	SPORTER* members = new SPORTER[12];  				//申请一组12个单位的SPORTER类型的内存空间并将地址传给members 
	ifstream siFile("beforescores.txt");				//文件读取 
	for (int i=0;i<12;i++)
	{  
		siFile>>members[i].num;
	   	siFile>>members[i].score;
	}
	siFile.close();										//文件关闭 
	
	for (int i=0;i<12;i++)
	  cout<<members[i].num<<"\t"<<members[i].score<<endl;//输出显示 
	  
	for(int i=0;i<12;i++)								//冒泡法对members[]进行排序 
	{
		for(int j=i+1;j<12; j++)
		{  
		   if(members[i].score>members[j].score)
		     {  
				SPORTER m=members[i];					//定义一个中间变量m
				members[i]=members[j];
				members[j]=m;
		     }
		}
	}
	ofstream soFile("afterscores.txt");					//文件存储 
	for (int i=0;i<12;i++)
	  soFile<<members[i].num<<"\t"<<members[i].score<<endl;
	soFile.close();
	//释放空间 
	delete[] members;
	return 0;
} 
发布了27 篇原创文章 · 获赞 19 · 访问量 4546

猜你喜欢

转载自blog.csdn.net/qq_43617268/article/details/103536854