内存:128  时间:1

题目描述

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

输入

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

输出

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

样例输入

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

样例输出

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

提示

数据输出之间有4个空格

代码如下

#include<bits/stdc++.h>
struct student
{
    char name[20];
    char number[20];
    char sex;
    char faculty[20];
}stu[6];
int main()
{
    char a,b[20];
    for(int i=1;i<=5;i++)
        {
            scanf("%s%s %c%s",stu[i].name,stu[i].number,&stu[i].sex,stu[i].faculty);
        }
        for(int i=1;i<=5;i++)
            for(int j=i+1;j<=5;j++)
        {
            if(strcmp(stu[i].number,stu[j].number)>0)
            {
                strcpy(b,stu[i].name);
                strcpy(stu[i].name,stu[j].name);
                strcpy(stu[j].name,b);
                 strcpy(b,stu[i].number);
                strcpy(stu[i].number,stu[j].number);
                strcpy(stu[j].number,b);
                a=stu[i].sex;
                stu[i].sex=stu[j].sex;
                stu[j].sex=a;
                 strcpy(b,stu[i].faculty);
                strcpy(stu[i].faculty,stu[j].faculty);
                strcpy(stu[j].faculty,b);
        }
        }
        for(int i=1;i<=5;i++)
            printf("%s    %s    %c    %s
",stu[i].name,stu[i].number,stu[i].sex,stu[i].faculty);
    return 0;
}

代码来源于互联网,仅供参考!