YTU 2872 学生信息排序

题目描述

定义存放一个学生信息的结构体类型,学生信息包括:姓名,学号,性别,院系,要求在随意输入 555 个学生的相关信息后,按照学号从小到大顺序输出这些学生的信息。

输入

先输入 555 名学生的信息,按学号顺序排序输出后在输入要统计的院系名称。

输出

先按学号从小到大的顺序输出学生信息。

输入输出样例

样例输入 #1

复制

zhang3    20149003    M    信息系
zhang5    20149005    F    信息系
zhang10    20149010    F    管理系
zhang1    20149001    M    会计系
zhang9    20149009    M    会计系
样例输出 #1

复制

zhang1    20149001    M    会计系
zhang3    20149003    M    信息系
zhang5    20149005    F    信息系
zhang9    20149009    M    会计系
zhang10    20149010    F    管理系

提示

数据输出之间有 444 个空格。

分析:很简单的排序题目,我这里直接用了一个结构体和sort函数,如果了解过sort函数的同学我强烈建议去学一学,比自己写排序好用100倍。

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
typedef struct stduent
{
	string name;
	int num;
	char sex;
	string zh;
}st;
st arr[6];

bool cmp(st a, st b)
{
	return a.num < b.num;
}

int main()
{
	for (int i = 1; i <= 5; i++)
		cin >> arr[i].name>> arr[i].num >> arr[i].sex >> arr[i].zh;
	sort(arr + 1, arr + 1 + 5, cmp);
	for (int i = 1; i <= 5; i++)
		cout << arr[i].name << "    " << arr[i].num << "    " << arr[i].sex << "    " << arr[i].zh << endl;
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值