题目描述
定义存放一个学生信息的结构体类型,学生信息包括:姓名,学号,性别,院系,要求在随意输入5个学生的相关信息后,按照学号从小到大顺序输出这些学生的信息。
输入
先输入5名学生的信息,按学号顺序排序输出后在输入要统计的院系名称
输出
先按学号从小到大的顺序输出学生信息
样例输入
zhang3 20149003 M 信息系
zhang5 20149005 F 信息系
zhang10 20149010 F 管理系
zhang1 20149001 M 会计系
zhang9 20149009 M 会计系
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 <stdio.h>
#include <stdlib.h>
struct Student
{
char name[10];
int num;
char sex;
char college[20];
};
int main()
{
int i,j;
struct Student date[5],tmp;
for (i=0; i<5; i++)
{
scanf("%s %d %c %s",date[i].name,&date[i].num,&date[i].sex,date[i].college);
}
for(j=0;j<5-1;j++)
{
for(i=0;i<5-j-1;i++)
{
if(date[i].num>date[i+1].num)
{
tmp=date[i];
date[i]=date[i+1];
date[i+1]=tmp;
}
}
}
for (i=0; i<5; i++)
{
printf("%s %d %c %s\n",date[i].name,date[i].num,date[i].sex,date[i].college);
}
return 0;
}