《高级语言程序设计实践》期末考试复现——9 丢手绢

 1 #include<string.h>
 2 #include<iostream>
 3 using namespace std;
 4 int n,m,k,i,j,i1;
 5 char s1[20],s2[20],s[25][20];
 6 int main()
 7 {
 8     cin>>n;
 9     for(i=0;i<n;i++) cin>>s[i];
10     cin>>m;
11     for(j=0;j<m;j++)//移动
12     {
13         cin>>s1>>k;
14         for(i=0;i<n;i++)
15         if(strcmp(s[i],s1)==0) break;
16         for(i1=i;i1<i+k;i1++)
17         strcpy(s[i1%n],s[(i1+1)%n]);
18         strcpy(s[i1%n],s1);
19     }
20     for(;;)//交换
21     {
22         cin>>s1>>s2;
23         if(strcmp(s1,s2)==0) break;
24         for(i=0;i<n;i++)
25         if(strcmp(s[i],s1)==0) break;
26         for(j=0;j<n;j++)
27         if(strcmp(s[j],s2)==0) break;
28         strcpy(s[i],s2);
29         strcpy(s[j],s1);
30     }
31     cin>>s1;
32     for(i=0;i<n;i++)
33     if(strcmp(s[i],s1)==0) break;
34     for(j=i;j<i+n;j++)
35     if(strcmp(s[j%n],s2))
36     cout<<s[j%n]<<endl;//输出
37 }

 

posted @ 2020-03-03 14:44  Miaohengming  阅读(185)  评论(0编辑  收藏  举报