思路:
1. 使用 C++ 自带的 sort 方法将数组所有数据升序排序;
2. 挑出最大的一个元素, 剩余按照题目要求输出;
C++ 代码:
- #include<iostream>
- //sort 头文件
- #include<algorithm>
- using namespace std;
- // 全局变量数组
- int array[1005];
- //sort 辅助判断函数
- bool compare(int a, int b) {
- return a <b;
- }
- // 处理函数
- void solve(int n) {
- int count = 0;
- for(int i=0; i<n; i++) {
- cin>> array[i];
- count++;
- }
- // 数组按照升序排序
- sort(array, array+count, compare);
- // 输出最大的一个元素
- cout<<array[count-1]<< endl;
- // 去除一个元素后发现没有元素
- if(count < 2) {
- cout<< "-1\n";
- }else {
- for(int i=0; i<n-1; i++) {
- if(i != 0) {
- cout<< " ";
- }
- cout<< array[i];
- }
- cout<< endl;
- }
- }
- int main() {
- int n;
- // 多组数据输入
- while(cin>> n) {
- solve(n);
- }
- return 0;
- }
来源: http://www.bubuko.com/infodetail-3416251.html