POJ 1917

http://poj.org/problem?id=1917

poj的字符串的一道水题。

题意么无关紧要, 反正输出的第一行就是把那个<>去掉,s1<s2>s3<s4>s5,

也就是第一行就是输出s1s2s3s4s5就行。

第二行就是输出s1s4s3s2s5就可以。

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 char str[2][110];
 5 
 6 int main()
 7 {
 8     int n,mark[4];
 9     char x;
10     scanf("%d%c",&n,&x);
11     while(n--){
12         gets(str[0]);
13         gets(str[1]);
14         int len0=strlen(str[0]);
15         for(int i=0,j=0;i<len0;i++){
16             if(str[0][i]=='<'||str[0][i]=='>') {    //mark用来记录下<>的位置。
17                 mark[j]=i;
18                 j++;
19             }else{
20                 printf("%c",str[0][i]);   //如果没有括号的,就直接输出就可以。
21             }
22         }
23         printf("
");
24         for(int i=0;i<strlen(str[1])-3;i++)    //调换位置。
25             printf("%c",str[1][i]);
26         for(int i=mark[2]+1;i<mark[3];i++)
27             printf("%c",str[0][i]);
28         for(int i=mark[1]+1;i<mark[2];i++)
29             printf("%c",str[0][i]);
30         for(int i=mark[0]+1;i<mark[1];i++)
31             printf("%c",str[0][i]);
32         for(int i=mark[3]+1;i<len0;i++)
33             printf("%c",str[0][i]);
34         printf("
");
35     }
36     return 0;
37 }
原文地址:https://www.cnblogs.com/Tree-dream/p/5499382.html