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 }
浙公网安备 33010602011771号