怎么剔除s1字符串里与s2一致的字符?
如何剔除s1字符串里与s2一致的字符??
the C programming language
习题2-4
剔除s1字符串里与s2一致的字符
为什么我的代码里打印出来的s1字符串没有变化呢?
------解决方案--------------------
------解决方案--------------------
仅供参考
the C programming language
习题2-4
剔除s1字符串里与s2一致的字符
为什么我的代码里打印出来的s1字符串没有变化呢?
#include <stdio.h>
int main(int argc, char *argv[])
{
char s1[100],s2[100];
int i,j,k,q;
printf("please enter string s1!\n");
gets(s1);
printf("please enter string s2!\n");
gets(s2);
for(i=0;s1[i]!='\0';i++){
for(j=0;s2[j]!='\0'&&s2[j]!=s1[i];j++)
{
}
if (s1[i]==s2[j]){
printf("%d ",i);
for(k=i;s1[k]!='\0';k++){
s1[k]=s1[++k];
k--;
}
}
}
puts(s1);
return 0;
}
------解决方案--------------------
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<errno.h>
#include<string.h>
#include<sys/types.h>
#define STR_SIZE 512
int main(int argc, char* argv[])
{
char str[STR_SIZE] = {0};
char substr[STR_SIZE] = {0};
char deststr[STR_SIZE] = {0};
char *phead = NULL;
char *ptail = NULL;
printf("input the first string!\n");
scanf("%s", str);
printf("input the second string!\n");
scanf("%s", substr);
if((phead = strstr(str, substr)) != NULL)
{
strncpy(deststr, str, phead-str);
strcpy(deststr+strlen(deststr), phead+strlen(substr));
printf("the string:%s, after delete the substr:%s, the left string:%s\n", str, substr, deststr);
}
else
{
printf("the second string is not a sub string int the first string!\n");
}
return 0;
}
------解决方案--------------------
仅供参考
#include <stdio.h>
#include <string.h>
#include <locale.h>
char s[256];
char *p;
int r,n,i;
int main() {
setlocale(LC_ALL,"chs");
while (1) {
printf("请输入一行文字(空行结束),\"%%20\"将替换为\" \",\"你懂得\"将替换为\"XXXXXX\":\n");
fgets(s,256,stdin);
if ('\n'==s[0]) break;
p=s;
while (1) {
p=strstr(p,"%20");
if (p) {
memmove(p+1,p+3,strlen(p)-3+1);
p[0]=' ';
} else break;
}
p=s;
while (1) {
p=strstr(p,"你懂得");
if (p) {
memmove(p+6,p+6,strlen(p)-6+1);
for (i=0;i<6;i++) p[i]='X';
} else break;
}
printf("%s",s);
}
return 0;
}
//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX":
//abcdefg%20helloworld%20something.pdf
//abcdefg helloworld something.pdf
//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX":
//这是测试文字你懂得,在这个你懂的地方,就得做你懂得的事
//这是测试文字XXXXX,在这个你懂的地方,就得做XXXXX的事
//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX":
//