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 }