问题及代码:
/*Copyright(c)2016,烟台大学计算机学院 all rights reserved.
作者:曹欣宇
指导教师:贺利坚
完成日期:2016年12月16日
题目描述
定义存放一个学生信息的结构体类型,学生信息包括:姓名,学号,性别,院系,要求在随意输入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 管理系
*/
#include<stdio.h>
#include<string.h>
int main()
{
struct info
{
char name[10];
char num[20];
char sex;
char pro[50];
};
struct info s[5],t;
int i,j;
for(i=0;i<=4;i++)
{
scanf("%s %s %c %s",s[i].name,s[i].num,&s[i].sex,s[i].pro);
}
for(i=0;i<5;i++)
{
for(j=0;j<5-i-1;j++)
{
if(strcmp(s[j].num,s[j+1].num)>0)
{
{
t=s[j];
s[j]=s[j+1];
s[j+1]=t;
}
}
}
}
for(i=0;i<=4;i++)
printf("%s %s %c %s\n",s[i].name,s[i].num,s[i].sex,&s[i].pro);
return 0;
}
运行结果:
知识点总结:
通过学习,进一步巩固了结构体的用法。
学习心得:
对冒泡排序还不是很熟练,以后继续加强...