http://poj.org/problem?id=3981
字符串替换
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 7148 | Accepted: 3384 |
Description
编写一个C程序实现将字符串中的所有"you"替换成"we"
Input
输入包含多行数据
每行数据是一个字符串,长度不超过1000
数据以EOF结束
每行数据是一个字符串,长度不超过1000
数据以EOF结束
Output
对于输入的每一行,输出替换后的字符串
Sample Input
you are what you do
Sample Output
we are what we do
Source
题意:就不说了有中文。。关键是怎样处理少掉的字符。。每当有一个you的时候就把数组元素u之后的元素向前移动一位。这样就把u给覆盖了。。。这边花了好久啊啊呵啊啊。。
#include<stdio.h> #include<string.h> int main() { char s[10000]; while(gets(s)) { int i,j; int len=strlen(s); for(i=0;i<len;i++) { if(s[i]=='y'&&s[i+1]=='o'&&s[i+2]=='u') { s[i]='w'; s[i+1]='e'; for(j=i+2;j<len;j++) { s[j]=s[j+1]; } len--; } } printf("%s\n",s); } return 0; }