Home | Web Board | ProblemSet | Standing | Status | Statistics |
OJ系统新功能测试中,如有问题请联系 17865569030 17865569180 17865571035 尽量不要在上课时间打电话
Problem F: 结构体--学生信息排序
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 3149 Solved: 1722
[ Submit][ Status][ Web Board]
Description
定义存放一个学生信息的结构体类型,学生信息包括:姓名,学号,性别,院系,要求在随意输入5个学生的相关信息后,按照学号从小到大顺序输出这些学生的信息。
Input
先输入5名学生的信息,按学号顺序排序输出后在输入要统计的院系名称
Output
先按学号从小到大的顺序输出学生信息
Sample Input
zhang3 20149003 M 信息系
zhang5 20149005 F 信息系
zhang10 20149010 F 管理系
zhang1 20149001 M 会计系
zhang9 20149009 M 会计系
Sample Output
zhang1 20149001 M 会计系
zhang3 20149003 M 信息系
zhang5 20149005 F 信息系
zhang9 20149009 M 会计系
zhang10 20149010 F 管理系
HINT
数据输出之间有4个空格
한국어 中文 فارسی English ไทย
Anything about the Problems, Please Contact Admin:admin
All Copyright Reserved 2010-2014 HUSTOJ TEAM
GPL2.0 2003-2014 HUSTOJ Project TEAM
Help Maunal
Anything about the Problems, Please Contact Admin:admin
All Copyright Reserved 2010-2014 HUSTOJ TEAM
GPL2.0 2003-2014 HUSTOJ Project TEAM
Help Maunal
代码
#include<iostream>
#include<iomanip>
using namespace std;
typedef struct person{
string name ;
long ID ;
char gender ;
string institution ;
}Per;
const int n =5 ;
int main()
{
int i,j;
Per a[n] ;
Per * p[5];
Per *t ;
for(i = 0; i< n ;i++)
{
cin>> a[i].name >>a[i].ID >>a[i] .gender>>a[i].institution ;
p[i]=&a[i];
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if( p[j]->ID>p[j+1]->ID)
{
t =p[j];
p[j]=p[j+1];
p[j+1]=t;
}
}
}
for(i=0;i<n;i++)
{
cout<<p[i]->name<<" "<<p[i]->ID<<" "<<p[i]->gender<<" "<<p[i]->institution<<endl;
}
return 0;
}