题目描述
定义存放一个学生信息的结构体类型,学生信息包括:姓名,学号,性别,院系,要求在随意输入 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;
}