例如原字符串为“abcdef”,将其中的“bc”换成“xy”,怎么实现?
这个写一个算法吧,搜索字符串,寻找"b",找到后判断b的后一个字符是否为"c",如果不是c,则继续搜索直到字符串结束,如果为c,那么将bc替换为xy。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2020-01-21
#include
<stdio.h>
#include
<string.h>
void
main(void)
{
char
getstr[100];
char
sendstr[100];
char
a_b[100];
char
i;
printf("please
input
the
firs
str!\n");
gets(getstr);
printf("please
input
the
second
str
!\n");
gets(sendstr);
strcpy(a_b,getstr);
//交换两个字符串的数据
strcpy(getstr,sendstr);
strcpy(sendstr,a_b);
for(i
=
0;
getstr
!=
'\0';
i++)
{
printf("str1:%c",getstr[i]);
}
for(i
=
0;
getstr
!=
'\0';
i++)
{
printf("str2:%c",sendstr[i]);
}
}
这是将两个字符串进行交换后输出。
第二个问题则用到了数据结构了,使用一个结构体链表,使用strcmp()或strcmpi()比对你输入的字符串,找到相同的输出对应的中文字符串就好了。
其中:
strcmp()
对两个字符串进行大小写敏感的比较;strcmpi()
对两个字符串进行大小写不敏感的比较;
<stdio.h>
#include
<string.h>
void
main(void)
{
char
getstr[100];
char
sendstr[100];
char
a_b[100];
char
i;
printf("please
input
the
firs
str!\n");
gets(getstr);
printf("please
input
the
second
str
!\n");
gets(sendstr);
strcpy(a_b,getstr);
//交换两个字符串的数据
strcpy(getstr,sendstr);
strcpy(sendstr,a_b);
for(i
=
0;
getstr
!=
'\0';
i++)
{
printf("str1:%c",getstr[i]);
}
for(i
=
0;
getstr
!=
'\0';
i++)
{
printf("str2:%c",sendstr[i]);
}
}
这是将两个字符串进行交换后输出。
第二个问题则用到了数据结构了,使用一个结构体链表,使用strcmp()或strcmpi()比对你输入的字符串,找到相同的输出对应的中文字符串就好了。
其中:
strcmp()
对两个字符串进行大小写敏感的比较;strcmpi()
对两个字符串进行大小写不敏感的比较;
第2个回答 2012-09-02
char a[]="abcdef";
char *q=strstr(a,"bc");
strncpy(q,"xy",2);
puts(a);
char *q=strstr(a,"bc");
strncpy(q,"xy",2);
puts(a);
第3个回答 2012-08-27
char str[]="abcdef";
str[1]='x';
str[2]='y';本回答被网友采纳
str[1]='x';
str[2]='y';本回答被网友采纳
第4个回答 2012-08-27
我不会