题目大意:输入两串字符串,将第一串去掉“<>“输出,第二串去掉省略号后,将<>”内容对换去掉“<>”接在第二句上。
解题思路:将第一个<>内,第一个<>与第二个<>之间的,第二个<>内以及第二个<>后的内容用字符数组存起来。
ac代码:
#include <iostream>
#include <cstring>
using namespace std;
int n, len, cnt;
char a[1005], b[1005], t1[2][105], t2[2][105];
int main()
{
scanf("%d", &n);
getchar();
while (n--){
gets(a);
gets(b);
len = strlen(a);
cnt = 0;
for (int i=0; i<len; i++)
if (a[i] == '<'){
i++;
for (int j=0; a[i] != '>'; j++,i++)
t1[cnt][j] = a[i];
i++;
for (int j=0; a[i] != '<' && i<len; j++,i++)
t2[cnt][j] = a[i];
i--;
cnt++;
}
for (int i=0; ; i++){
if (a[i] == '<')
break;
printf("%c", a[i]);
}
printf("%s%s%s%s\n", t1[0], t2[0], t1[1], t2[1]);
len = strlen(b) - 3;
for (int i=0; i<len; i++)
printf("%c", b[i]);
printf("%s%s%s%s\n", t1[1], t2[0], t1[0], t2[1]);
memset(t1, 0, sizeof(t1));
memset(t2, 0, sizeof(t2));
}
return 0;
}