救命~~~~~~~
/* 我希望将数组中are变成be但是不知道为什么,就是不能使用
请大家帮忙
谢谢
=-=!!!~~~~~~*/
#include "stdio.h"
#define n 100
#include "string.h"
void main()
{
char changestr(char s[],int k); //声明转换函数
char str1[n],str2[n];
int x; //字符串长度
printf("input the string!\n");
gets(str1);
x=strlen(str1); //需要转换的字符串
strcpy(str2, changestr(str1,x)); //将转换后的字符传给str2
printf("%s",str2);
}
//转换函数*******************
char changestr(char s[],int k)
{
int i,j,m=k;
for(i=0;i<m-2;i++) //外循环,直到倒数第3个字符为止(因为判断的是连续的3个字符)
{
if(s[i]=='a') //3个if判断是否遇到了a r e
{
if(s[i+1]=='r')
{
if(s[i+2]=='e')
{
s[i]='b'; //遇到了则进行变换
s[i+1]='e';
m=m-1; //将所需判断的数-1
for(j=i+2;j<m-1;j++) //因为转换后少了一个字符,所以将转换后面的字符依次跟进
s[j]=s[j+1];
}
}
}
else
continue;
}
return(s); //返回s
}
[[it] 本帖最后由 godmaysmile 于 2008-4-10 21:18 编辑 [/it]]