特殊排序

题目截图:

 

思路:

  直接使用 C 语言内置的 qsort 函数,然后按要求输出即可。qsort 函数用法请查看另一篇博文

 

代码如下:

 1 /*
 2     特殊排序 
 3 */
 4 
 5 #include <stdio.h>
 6 #include <string.h>
 7 #include <math.h>
 8 #include <stdlib.h>
 9 #include <time.h>
10 #include <stdbool.h>
11 
12 int cmp(const void* a, const void* b) {
13     return *(int*)a - *(int*)b;
14 }
15 
16 int main() {
17     int n, i;
18     int a[1001]={0}; 
19     scanf("%d", &n);
20     for(i=0; i<n; ++i) {            // 输入数组 
21         scanf("%d", &a[i]);
22     }
23     if(n == 1) {                    // 特判(题目要求) 
24         printf("%d\n-1", a[0]);
25         return 0;
26     }
27     qsort(a, n, sizeof(a[0]), cmp);    // 快速排序 
28     printf("%d\n", a[n-1]);            // 按题目要求输出 
29     for(i=0; i<n-2; ++i) {
30         printf("%d ", a[i]);
31     }
32     printf("%d\n", a[n-2]);
33     
34     return 0;
35 }

 

posted @ 2018-02-06 16:55  Just_for_Myself  阅读(154)  评论(0编辑  收藏  举报