您的位置:首页 > 其它

UVa 10361 - Automatic Poetry

2011-10-03 10:39 399 查看

英语题看的太郁闷了,往往看题要花很长时间。

题目大意:读取字符串,每个测试例子有两行,第一行中有5个子串,中间用 "<",">"分开。第二行有一个串,以“...”结尾。

最后每个实例打印两行,第一行简单的把输入的第一行打印出来,只去掉 <和>符号,第二行按照原来第二行的打印,并把三个点去掉,换成s4,s3,s2,s5。over

此题写个函数读取s1~s5,getss()

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; } } }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: