学生信息排序

HomeWeb BoardProblemSetStandingStatusStatistics
OJ系统新功能测试中,如有问题请联系 17865569030 17865569180 17865571035 尽量不要在上课时间打电话

Problem F: 结构体--学生信息排序

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 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个空格

[ Submit][ Status][ Web Board]


代码

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值