问题及代码
题目描述
定义存放一个学生信息的结构体类型,学生信息包括:姓名,学号,性别,院系,要求在随意输入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个空格
/*烟台大学计算机学院 2016
作者: 马春澎
完成日期:2016年12月15日 */
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
struct people
{
char name[20];
char num[20];
char sex;
char x[20];
};
int main()
{
struct people p[80],a;
int i,j;
for(i=0; i<5; i++)
{
scanf("%s %s %c %s",&p[i].name,&p[i].num,&p[i].sex,&p[i].x);
}
for(j=0; j<4; j++)
{
for(i=0; i<4; i++)
{
if(strcmp(p[i].num,p[i+1].num)>0)
{
a=p[i];
p[i]=p[i+1];
p[i+1]=a;
}
}
}
for(i=0;i<5;i++)
printf("%s %s %c %s\n",p[i].name,p[i].num,p[i].sex,p[i].x);
return 0;
}
运算结果
知识点总结
结构体的综合应用
学习心得
注意排序是如何完成的,这是做出题目来的关键。