lab2
思路:直接按照题目所给的步骤处理就好。
具体AC代码如下:
1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 5 int main() 6 { 7 int n; 8 while(cin>>n){ 9 int buf1[102]; 10 int buf2[102]; 11 for(int i=0;i<n;i++){ 12 cin>>buf1[i]; 13 } 14 15 for(int i=0;i<n;i++){ 16 cin>>buf2[i]; 17 } 18 19 int pos1,pos2; 20 cin>>pos1>>pos2; 21 int mid1[102]; 22 int mid2[102]; 23 24 int k=0; 25 for(int i=0;i<n;i++){ 26 int flag=0; 27 for(int j=pos1;j<=pos2;j++){ 28 if(buf2[i]==buf1[j]){ 29 flag=1; 30 } 31 } 32 if(flag==0){ 33 mid1[k++]=buf2[i]; 34 } 35 } 36 //cout<<mid1[0]<<mid1[1]<<mid1[2]<<mid1[3]<<mid1[4]<<endl; 37 int t=0; 38 for(int i=0;i<n;i++){ 39 int flag=0; 40 for(int j=pos1;j<=pos2;j++){ 41 if(buf1[i]==buf2[j]){ 42 flag=1; 43 } 44 } 45 if(flag==0){ 46 mid2[t++]=buf1[i]; 47 } 48 } 49 50 int res1[102]; 51 int res2[102]; 52 for(int i=0;i<n;++i){ 53 if(i<pos1){ 54 res1[i]=mid1[i]; 55 } 56 else if(i>=pos1&&i<=pos2){ 57 res1[i]=buf1[i]; 58 } 59 else{ 60 res1[i]=mid1[i-(pos2-pos1)-1]; 61 } 62 } 63 64 for(int i=0;i<n;++i){ 65 if(i<pos1){ 66 res2[i]=mid2[i]; 67 } 68 else if(i>=pos1&&i<=pos2){ 69 res2[i]=buf2[i]; 70 } 71 else{ 72 res2[i]=mid2[i-(pos2-pos1)-1]; 73 } 74 } 75 76 for(int i=0;i<n;i++){ 77 if(i!=n-1){ 78 cout<<res1[i]<<' '; 79 } 80 else 81 cout<<res1[i]<<endl; 82 } 83 84 for(int i=0;i<n;i++){ 85 if(i!=n-1){ 86 cout<<res2[i]<<' '; 87 } 88 else 89 cout<<res2[i]<<endl; 90 } 91 } 92 return 0; 93 }