代码拉取完成,页面将自动刷新
#include <stdio.h>
#include <stdlib.h>
int getNumCount(FILE *fp)
{
if (fp == NULL)
{
fp = fopen("randnums.txt", "r");
}
char buf[20];
int count = 0;
while (fgets(buf, sizeof(buf), fp) != NULL)
{
count++;
}
/* code */
fclose(fp);
fp = NULL;
return count;
}
void sortArr(int *arr, int n)
{
int i, j;
int tmp;
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < n - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
void saveArr(int *parr, int size, FILE *fp)
{
if (NULL == fp)
{
fp = fopen("sortednums.txt", "w");
}
char buffer[100];
for (int i = 0; i < size; i++)
{
sprintf(buffer, "%d\n", parr[i]);
fputs(buffer, fp);
}
if (fp != NULL)
{
fclose(fp);
fp = NULL;
}
}
int main(int argc, char const *argv[])
{
FILE *fp;
fp = fopen("randnums.txt", "r");
FILE *fdst = fopen("sortednums.txt", "w");
if (NULL == fp)
{
perror("Open file:");
return -1;
}
int a;
char buf[20];
int count = getNumCount(fp);
//printf("count=%d", count);
fp = fopen("randnums.txt", "r");
int *arr = (int *)malloc(count * sizeof(int));
int i = 0;
while (fgets(buf, sizeof(buf), fp) != NULL)
{
sscanf(buf, "%d", &arr[i]);
// arr[i] = a;
i++;
}
sortArr(arr, count);
for (int i = 0; i < count; i++)
{
printf("%d, ", arr[i]);
}
saveArr(arr, count, fdst);
if (fp != NULL)
{
fclose(fp);
fp = NULL;
}
return 0;
}
其中 randnums.txt的内容:
65
16
15
4
4
54
98
2
9
29
30
5
74
13
29
26
68
31
29
51
46
21
10
70
95
57
16
9
81
1
28
12
88
25
43
67
78
82
5
34
36
80
24
91
89
35
54
35
33
79
82
51
93
47
74
80
45
98
53
37
62
21
75
40
77
21
89
43
27
73
92
96
71
14
34
75
41
25
72
3
64
60
7
24
67
61
42
28
42
83
30
67
96
7
18
95
60
10
86
71
64
51
47
83
81
88
29
10
62
12
23
39
29
59
2
62
11
86
61
57
48
24
4
92
30
37
44
81
81
25
33
32
31
40
45
56
20
37
84
26
16
60
37
78
80
52
8
71
39
17
40
39
38
17
70
47
14
64
27
99
96
14
11
21
5
40
22
66
19
23
48
1
68
72
99
85
82
31
4
1
90
87
42
6
36
49
66
48
59
72
99
44
49
45
67
42
94
82
71
93
62
88
80
55
12
18
55
51
85
40
79
79
40
96
88
23
82
57
1
55
77
85
17
5
61
41
63
47
7
36
44
81
77
97
9
86
10
40
41
64
18
78
96
78
61
15
89
77
33
34
93
41
12
63
29
32
38
79
28
97
82
8
44
67
49
70
7
72
20
15
81
36
30
66
56
17
93
86
82
21
91
89
2
53
8
33
2
39
2
19
36
99
93
7
4
82
36
43
53
37
72
91
90
48
47
72
34
88
8
51
59
33
45
21
60
88
73
97
69
34
55
9
35
37
74
12
80
87
51
8
99
11
20
52
76
35
51
24
51
35
10
27
71
87
31
81
37
49
15
21
45
15
83
53
76
8
31
73
82
36
54
72
7
40
58
17
4
97
64
66
95
43
67
94
59
55
66
36
84
88
6
10
7
16
20
3
24
18
99
72
49
79
90
37
42
16
41
11
62
94
32
61
65
39
15
76
86
63
84
47
87
33
86
75
22
61
84
66
47
90
46
66
71
96
81
49
47
69
88
26
61
51
78
94
2
67
87
93
77
5
3
90
75
93
60
26
15
68
74
39
52
49
71
47
69
89
69
81
36
81
57
26
70
16
10
37
49
80
17
72
43
69
85
93
15
83
30
77
34
87
38
34
23
41
8
43
82
60
77
20
65
43
99
43
84
35
15
46
27
9
排序后保存到sortednums.txt中
1
1
1
1
2
2
2
2
2
2
3
3
3
4
4
4
4
4
4
5
5
5
5
5
6
6
7
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
13
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
20
20
20
20
20
21
21
21
21
21
21
21
22
22
23
23
23
23
24
24
24
24
24
25
25
25
26
26
26
26
26
27
27
27
27
28
28
28
29
29
29
29
29
29
30
30
30
30
30
31
31
31
31
31
32
32
32
33
33
33
33
33
33
34
34
34
34
34
34
34
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
38
38
38
39
39
39
39
39
39
40
40
40
40
40
40
40
40
41
41
41
41
41
41
42
42
42
42
42
43
43
43
43
43
43
43
43
44
44
44
44
45
45
45
45
45
46
46
46
47
47
47
47
47
47
47
47
47
48
48
48
48
49
49
49
49
49
49
49
49
51
51
51
51
51
51
51
51
51
52
52
52
53
53
53
53
54
54
54
55
55
55
55
55
56
56
57
57
57
57
58
59
59
59
59
60
60
60
60
60
60
61
61
61
61
61
61
61
62
62
62
62
62
63
63
63
64
64
64
64
64
65
65
65
66
66
66
66
66
66
66
67
67
67
67
67
67
67
68
68
68
69
69
69
69
69
70
70
70
70
71
71
71
71
71
71
71
72
72
72
72
72
72
72
72
72
73
73
73
74
74
74
74
75
75
75
75
76
76
76
77
77
77
77
77
77
77
78
78
78
78
78
79
79
79
79
79
80
80
80
80
80
80
81
81
81
81
81
81
81
81
81
81
82
82
82
82
82
82
82
82
82
82
83
83
83
83
84
84
84
84
84
85
85
85
85
86
86
86
86
86
86
87
87
87
87
87
87
88
88
88
88
88
88
88
88
89
89
89
89
89
90
90
90
90
90
91
91
91
92
92
93
93
93
93
93
93
93
93
94
94
94
94
95
95
95
96
96
96
96
96
96
97
97
97
97
98
98
99
99
99
99
99
99
99
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。