写读取在txt中的成绩,然后排序的

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <iterator>
using namespace std;

void sort(vector<int> &goal);

int main()
{
string line;
vector<int> goal;
vector<int>::iterator iter;
ifstream in("in.txt");
while(getline(in, line))
{
if(line.substr(0, 8) == "ÓïÎijɼ¨")
{
goal.push_back(atoi((line.substr(10, line.size() - 10)).c_str()));
}

}
sort(goal);
for(iter = goal.begin(); iter != goal.end(); iter++)
{
cout << "ÓïÎijɼ¨£º" << *iter << endl;
}
return 0;
}

void sort(vector<int> &goal)
{
vector<int>::iterator iter1;
vector<int>::iterator iter2;
int temp;
for(iter1 = goal.begin(); iter1 != goal.end(); iter1++)
{
for(iter2 = goal.begin(); iter2 != goal.begin()+(goal.end()-iter1-1); iter2++)
{

if(*iter2 > *(iter2+1))
{
temp = *iter2;
*iter2 = *(iter2+1);
*(iter2+1) = temp;
}
}
}
}

补充回答:

姓名:zhangsan

年龄:19

语文成绩:89

姓名:lisi

年龄:21

语文成绩:75

姓名:zhangsan

年龄:19

语文成绩:93

姓名:lisi

年龄:21

语文成绩:77

姓名:zhangsan

年龄:19

语文成绩:21

姓名:lisi

年龄:21

语文成绩:45

这是我测试用的文件,文件名in.txt

这是运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值