1.一个数组去除重复数字
2.输入两个数组,找出不同的数合并成一个新的数组,然后将这些数从大到小排序。
3.输入两个数组,找出相同的数合并成一个新的数组,然后将这些数从大到小排序。
一.
cpp
//一个数组去重
#include<iostream>
#include<vector>
using namespace std;
int main(){
int n;
cin>>n;
vector<int>A(n);
for(int i=0;i<n;i++){
cin>>A[i];
}
vector<int>result;
for(int a:A){
int k=0;
for(int b:result){
if(a==b){
k=1;
break;
}
}
if(k==0)
result.push_back(a);
}
for(int c:result){
cout<<c<<" ";
}
return 0;
}
二.
cpp
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool compare(int a,int b){
return a>b;
}
int main(){
int n,k,m;
cin>>n;
vector<int>A(n);
for(int i=0;i<n;i++){
cin>>A[i];
}
cin>>m;
vector<int>B(m);
for(int i=0;i<m;i++){
cin>>B[i];
}
vector<int>result;
for(int a:A){
k=0;
for(b:result){
if(b==a){
k=1;
break;
}
}
if(k==0)
result.push_back(a);
}
for(int a:B){
k=0;
for(b:result){
if(b==a){
k=1;
break;
}
}
if(b==0)
result.push_back(a);
}
sort(result.begin(),result.end(),compare);
for(int a:result){
cout<<a<<" ";
}
return 0;
}
三.
cpp
#include<iostream>
using namespace std;
int main(){
int A[100],B[100],C[100],k=0,gs=0;
int n,m;
cin>>m;
for(int i=0;i<m;i++){
cin>>A[i];
}
cin>>n;
for(int i=0;i<n;i++){
cin>>B[i];
}
for(int i=0;i<m;i++){
gs=0;//目的是如果C中有A[i]这个元素则跳过A[i]这个元素
for(int j=0;j<k;j++){//先判断C[i],而不是B,原因是C中会有重复元素放入
if(A[i]==C[j]){
gs=1;
break;
}}
if(gs==1)continue;
for(int j=0;j<n;j++){
if(A[i]==B[j]){
C[k++]=A[i];
break;
}
}
}
if(k==0)cout<<"no";
else{
for(int i=0;i<k;i++){
cout<<C[i]<<" ";
}
}
return 0;
}