标签:
输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序。
4 1 3 4 2
4 1 2 3
如果数组中只有一个数,当第一行将其输出后,第二行请输出"-1"。
这道题描述不是很明确,将此值从数组中去除,是指去除一个值,而不是都去除。
1 #include <cstdio> 2 #include <cstdlib> 3 #include <cstring> 4 #include <string> 5 #include <algorithm> 6 7 #define MAX 1002 8 9 int toDeal[MAX]; 10 11 int cmp(const void * a, const void *b) { 12 int at = *(int *)a; 13 int bt = *(int *)b; 14 return at - bt; 15 } 16 int main(int argc, char const *argv[]) 17 { 18 int n; 19 while(scanf("%d",&n) != EOF) { 20 for(int i = 0; i < n; i++) { 21 scanf("%d",&toDeal[i]); 22 } 23 if(n == 1) { 24 printf("%d\n",toDeal[0]); 25 printf("%d\n",-1); 26 continue; 27 } 28 qsort(toDeal, n, sizeof(int), cmp); 29 30 31 printf("%d\n",toDeal[n-1]); 32 bool isOne = true; 33 for(int i = 0; i < n-1; i++) { 34 if(isOne) { 35 printf("%d",toDeal[i]); 36 isOne = false; 37 } 38 else { 39 printf(" %d",toDeal[i]); 40 } 41 42 } 43 printf("\n"); 44 } 45 return 0; 46 }
标签:
原文地址:http://www.cnblogs.com/jasonJie/p/5689951.html