英语题看的太郁闷了,往往看题要花很长时间。
题目大意:读取字符串,每个测试例子有两行,第一行中有5个子串,中间用 "<",">"分开。第二行有一个串,以“...”结尾。
最后每个实例打印两行,第一行简单的把输入的第一行打印出来,只去掉 <和>符号,第二行按照原来第二行的打印,并把三个点去掉,换成s4,s3,s2,s5。over
void getss(char s[])
{
int i;
for(i=0; i<MAXN; i++)
{
if((s[i] = getchar()) == '<' || s[i] == '>' || s[i] == '\n'){
s[i] = '\0';
break;
}
}
}
然后对第二行用gets()直接读完,最后把3个点截掉就行了
line[strlen(line) - 3] = '\0';
最后两个printf()打印出来,完事。。
/**
* Author: Gneveek
* Data: 2011-10-3
* Descripition: UVa 10361 - Automatic Poetry
*/
#include <stdio.h>
#include <string.h>
#define MAXN 110
void getss(char s[]);
int main()
{
/*freopen("C:\\in.txt","r",stdin);*/
int n;
char s1[MAXN],s2[MAXN],s3[MAXN],s4[MAXN],s5[MAXN],c,line[MAXN];
scanf("%d",&n);
c = getchar();
while(n--)
{
getss(s1);
getss(s2);
getss(s3);
getss(s4);
getss(s5);
gets(line);
line[strlen(line) - 3] = '\0';
printf("%s%s%s%s%s\n",s1,s2,s3,s4,s5);
printf("%s%s%s%s%s\n",line,s4,s3,s2,s5);
}
return 0;
}
void getss(char s[])
{
int i;
for(i=0; i<MAXN; i++)
{
if((s[i] = getchar()) == '<' || s[i] == '>' || s[i] == '\n'){
s[i] = '\0';
break;
}
}
}