问题:
输入一个字符串,用指针求出字符串的长度。
答案:
#include <stdio.h>
int main()
{
char str[20], *p;
int length=0;
printf(“Please input a string: ”);
gets(str);
p=str;
while(*p++)
{
length++;
}
printf(“The length of string is %d\n”, length);
return 0;
}
问题:使用C语言实现字符串中子字符串的替换
描述:编写一个字符串替换函数,如函数名为 StrReplace(char* strSrc, char* strFind, char* strReplace),strSrc为原字符串,strFind是待替换的字符串,strReplace为替换字符串。
举个直观的例子吧,如:“ABCDEFGHIJKLMNOPQRSTUVWXYZ”这个字符串,把其中的“R
ST”替换为“ggg”这个字符串,结果就变成了:
ABCDEFGHIJKLMNOPQgggUVWXYZ
答案一:
#include <stdio.h>
#include <string.h>
void StrReplace(char* strSrc, char* strFind, char* strReplace);
#define M 100;
void main()
{char s[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char s1[]="RST";
char s2[]="ggg";
字符串函数putsStrReplace(s,s1,s2);
printf("%s\n",s);
}
void StrReplace(char* strSrc, char* strFind, char* strReplace)
{
int i=0;
int j;
int n=strlen(strSrc);
int k=strlen(strFind);
for(i=0;i<n;i++)
{
if(*(strSrc+i)==*strFind)
{
for(j=0;j<k;j++)
{
if(*(strSrc+i+j)==*(strFind+j))
{
*(strSrc+i+j)=*(strReplace+j);
}
else continue;
}
}
}
}
答案二:
#include <stdio.h>
#define MAX 100
StrReplace(char *s, char *s1, char *s2) {
char *p;
for(; *s; s++) {
for(p = s1; *p && *p != *s; p++);
if(*p) *s = *(p - s1 + s2);
}
}
int main()
{
char s[MAX]; //s是原字符串
char s1[MAX], s2[MAX]; //s1是要替换的
//s2是替换字符串
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论