Linux 编程实例

示例:用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>  

//输入10名学生的姓名,性别,学号,家庭住址;

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++)

​ {

​ //printf("请输入第%d位学生的信息:姓名、性别、学号、家庭住址\n", i + 1);

​ 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);

​ }

}
Author: wnxy
Link: http://www.wnxy.xyz/2019/06/03/Linux%20%E7%BC%96%E7%A8%8B%E5%AE%9E%E4%BE%8B/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.