UDP广播协议叫吃饭


私信TA

用户名:Mustenaka

访问量:149509

签 名:

个人博客www.mustenaka.cn

等  级
排  名 13
经  验 25377
参赛次数 8
文章发表 197
年  龄 3
在职情况 学生
学  校 Sky_box
专  业 NE

  自我简介:

欢迎光临我的博客www.mustenaka.cn,Python,C#,U3D,C/C++开发合作可以找我

解题思路:
    fo了,水题还错,直接看代码把,给我留言什么数据出错了。
参考代码:

//错误代码:

#include <iostream>
#include <algorithm>
#include <vector>
#include <limits.h>
//#define hh ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
using namespace std;
vector<long> v;
long n;
int main() {
	//hh;
	while (cin >> n) {
		long  max_number = LONG_MIN;
		v.clear();
		for (long i = 0; i < n; i++) {
			long temp;
			cin >> temp;
			v.push_back(temp);
			if (max_number < temp) {
				max_number = temp;
			}
		}
		if(n==1) {
			cout<<*v.begin()<<endl;
			cout<<"-1"<<endl;
			continue;
		}
		vector<long>::iterator it;
		for (it = v.begin(); it != v.end();) {
			if (*it == max_number) {
				it = v.erase(it);
			} else {
				++it;
			}
		}
		sort(v.begin(), v.end());
		cout << max_number << endl;
		for (it = v.begin(); it != v.end(); it++) {
			cout << *it << ' ';
		}
		cout << endl;
	}
	return 0;
}

丢,写出来了,原来判重只能判断一个,分别上出啊两段代码,一个用vector一个用普通数组。

vector版本:

#include<bits/stdc++.h>
using namespace std;
vector<int> v;
int n,max_number=INT_MIN;
int main() {
	while(cin>>n) {
		max_number=INT_MIN;
		v.clear();
		for(int i=0; i<n; i++) {
			int t;
			cin>>t;
			v.push_back(t);
			if(max_number<t) {
				max_number=t;
			}
		}
		if(n==1) {
			cout<<max_number<<endl;
			cout<<-1<<endl;
			continue;
		}
		vector<int>::iterator it;
		for(it=v.begin(); it!=v.end();) {
			if(*it==max_number) {
				v.erase(it++);
				break;
			} else {
				it++;
			}
		}
		cout<<max_number<<endl;
		sort(v.begin(),v.end());
		for(it=v.begin(); it!=v.end(); it++) {
			cout<<*it<<' ';
		}
		cout<<endl;
	}
	return 0;
}

普通版本:

#include<bits/stdc++.h>
using namespace std;
const int maxn=100005;
int a[maxn];
int n,max_number=INT_MIN;
int main(){
	while(cin>>n){
		max_number=INT_MIN;
		memset(a,0,sizeof(a));
		for(int i=0;i<n;i++){
			cin>>a[i];
			if(max_number<a[i]){
				max_number=a[i];
			} 
		}
		sort(a,a+n);
		if(n==1){
			cout<<max_number<<endl;
			cout<<-1<<endl;
			continue;
		}
		cout<<max_number<<endl;
		for(int i=0;i<n-1;i++){
			cout<<a[i]<<' '; 
		}
		cout<<endl;
	}
	return 0;
}
//上下都正确 
#include<bits/stdc++.h>
using namespace std;
const int maxn=100005;
int a[maxn];
int n;
int main() {
	while(cin>>n){
		memset(a,0,sizeof(a));
		for(int i=0;i<n;i++){
			cin>>a[i];
		}
		if(n==1){
			cout<<a[0]<<endl;
			cout<<-1<<endl;
			continue;
		}
		sort(a,a+n);
		cout<<a[n-1]<<endl;
		for(int i=0;i<n-1;i++){
			cout<<a[i]<<' ';
		}
		cout<<endl;
	}
	return 0;
}
//提交后正确


 

0.0分

0 人评分

  评论区

  • «
  • »