poj 3981文字列水を置き換えて時間を浪費する水題

1214 ワード

文字列置換
Time Limit: 1000MS
 
Memory Limit: 65536K
Total Submissions: 7433
 
Accepted: 3526
Description
Cプログラムを作成して文字列のすべての「you」を「we」に置き換える
Input
複数行のデータを入力
1行あたりのデータは1文字列で、長さは1000を超えません.
データはEOFで終わる
Output
入力された行ごとに、置換された文字列が出力されます.
Sample Input
you are what you do

Sample Output
we are what we do
#include<stdio.h>
#include<string.h>
int main()
{
	int i,j;
	char s[1200];
	while(gets(s))
	{
		int d=strlen(s);
		for(i=0;i<d;i++)
		{
			if(s[i]=='y'&&i+2<d&&s[i+1]=='o'&&s[i+2]=='u')
			{
				if(i==0&&(s[i+3]=='\0'||s[i+3]==' ')) {s[0]='w';s[1]='e';s[2]='+';}
				else
					if(i==d-3&&s[d-4]==' ') {s[i]='w';s[i+1]='e';s[i+2]='+';}
					else
					{
						if(s[i-1]==' '&&s[i+3]==' ') {s[i]='w';s[i+1]='e';s[i+2]='+';}
					}
			}
		}
		for(i=0;i<d;i++)
			if(s[i]!='+') printf("%c",s[i]);
	    printf("
"); } return 0; }