1 #define _CRT_SECURE_NO_WARNINGS
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 #include <time.h>
 5 
 6 void fill_arr(int* arr, int len);
 7 void show_arr(int* arr, int len);
 8 int cmp(const void* p1, const void* p2);
 9 
10 
11 //填充随机数;
12 void fill_arr(int * arr, int len)
13 {
14     time_t ts;
15     srand((unsigned int)time(&ts));
16 
17     for (int i = 0; i < len; i++)
18     {
19         arr[i] = rand() % 100;
20     }
21 
22 }
23 
24 //显示数组的内容;
25 void show_arr(int* arr, int len)
26 {
27     for (int i = 0; i < len; i++)
28     {
29         printf("%3d", arr[i]);
30         if ((i + 1) % 10 == 0)
31         {
32             putchar('\n');
33         }
34     }
35 }
36 
37 int cmp(const void* p1, const void* p2)
38 {
39     //加了const可以避免数字出错
40     const int* pint1 = p1;
41     const int* pint2 = p2;
42 
43     if (*pint1 == *pint2)
44     {
45         return 0;
46     }
47     else if(*pint1 > *pint2)
48     {
49         return 1;
50     }
51     else
52     {
53         return -1;
54     }
55 }
56 
57 int main(void)
58 {
59     int a[100];
60     fill_arr(a, 100);
61     show_arr(a, 100);
62     printf("\n\n");
63     qsort(a, 100, sizeof(int), cmp);
64     show_arr(a, 100);
65 
66     system("pause");
67     return 0;
68 }

 

posted on 2019-04-29 16:52  寒舟独饮  阅读(154)  评论(0)    收藏  举报