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;
} 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章