【演習】アルゴリズムノート問題D:ワード(ない置換文字列)を交換

アイデアは、文字列を置換することではない、唯一の(検索)の元を出力し続け交換後の出力文字列にマッチした文字列を、一致する必要があります。

文字列の挿入や削除を伴わない単純な方法で、

長いクエリする必要が「\ 0」を行ったとして、その文字列の検索文字列

 

#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
 
char str[101], a[101],b[100];
	
int main()
{
	
	while(gets(str)){
		gets(a);
		gets(b);
		
		int lena = strlen(a), lenb = strlen(b);//记录长度
		int j,i,k;
		for(int i=0; str[i] != '\0'; i++) 
		{
				//查找有没有此字符串,如果不等就跳出循环,如果等于,当前i就是齐字符串起始位置 
				for(k=i, j=0; a[j]!='\0' ; j++,k++ ) 
				{
					if(a[j] != str[k])
						break;
				}
				//如果有相同的字符串,输出b串 
				if(a[j] =='\0' )
				{
					printf("%s",b);
					i+=lena-1;
				}
				//没有匹配的
				else{
					putchar(str[i]);
				} 
			 
		}
		printf("\n");
		
	}	
	
	
	
 	return 0;
}      

 

公開された63元の記事 ウォン称賛13 ビュー40000 +

おすすめ

転載: blog.csdn.net/changreal/article/details/88358054
おすすめ