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

 

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值