示例:用C语言编写一个从键盘输入10名学生的姓名、性别、学号和家庭住址,然后按照学号排序,并将排序后的结果在屏幕上按对齐的方式打印输出的程序。
C语言排序程序源码 (学号按从高到低排序):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| #include<stdio.h>
struct student
{
char name[10];
char sex[4];
int id;
char address[50];
}info[10];
int main()
{
struct student temp;
int i,j, k;
printf("请输入10个学生的信息:姓名、性别、学号、家庭住址\n");
for (i = 0; i < 10; i++)
{
scanf("%s%s%d%s", info[i].name, &info[i].sex, &info[i].id, &info[i].address);
}
for (i = 0; i < 10; i++)
{
k = i;
for (j = i + 1; j < 10; j++)
{
if (info[k].id < info[j].id)
k = j;
}
if (k != i)
{
temp = info[i];
info[i] = info[k];
info[k] = temp;
}
}
printf("10个学生的信息按序号由高到低排序为\n");
for (i = 0; i < 10; i++)
{
printf("%s\t%s\t%d\t%s\n", info[i].name, info[i].sex, info[i].id, info[i].address);
}
}
|