使用C语言完成一个函数,要求从字符串s1中删除出现在字符串s2中的字符
时间: 2023-03-14 18:19:42 浏览: 141
可以使用C语言中的字符串操作函数strcpy()、strcat()和strspn(),具体步骤如下:1. 使用strcpy()从s1中复制字符串到新的字符串s3;
2. 使用strcat()将s2中的字符串复制到s3中;
3. 使用strspn()比较s3中的字符串,找到s2中出现在s1中的字符,并删除;
4. 将s3中的字符串复制回s1中。
相关问题
在c语言中,用gets函数输入字符串s1和s2,要求将s2字符串反向连接到s1字符串末端组成一个新字符串s1,使用puts输出字符串s1。要求用指针书写程序
好的,以下是用指针书写的程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[100], s2[100];
char *p1, *p2;
printf("请输入字符串s1:");
gets(s1);
printf("请输入字符串s2:");
gets(s2);
p1 = s1 + strlen(s1); // 指向s1末尾的指针
p2 = s2 + strlen(s2) - 1; // 指向s2末尾的指针
while (p2 >= s2) { // 将s2字符串反向连接到s1字符串末端
*p1++ = *p2--;
}
*p1 = '\0'; // 字符串末尾加上'\0'
puts(s1); // 输出字符串s1
return 0;
}
```
程序运行示例:
```
请输入字符串s1:hello
请输入字符串s2:world
helloworld
```
用c语言定义一个函数find(),完成字符串查找功能,在find()函数中,使用双重for循环遍历字符串,在字符串s2中查找字符串s1,从键盘输入两个字符串。
好的,以下是用C语言定义的find()函数的代码:
```c
#include <stdio.h>
#include <string.h>
int find(char s1[], char s2[]) {
int len1 = strlen(s1);
int len2 = strlen(s2);
for (int i = 0; i <= len2 - len1; i++) {
int j;
for (j = 0; j < len1; j++) {
if (s2[i+j] != s1[j]) {
break;
}
}
if (j == len1) {
return i;
}
}
return -1;
}
int main() {
char s1[100], s2[100];
printf("请输入两个字符串:\n");
scanf("%s%s", s1, s2);
int pos = find(s1, s2);
if (pos == -1) {
printf("在字符串%s中没有找到%s\n", s2, s1);
} else {
printf("在字符串%s中找到了%s,位置为%d\n", s2, s1, pos);
}
return 0;
}
```
这个函数可以在字符串s2中查找字符串s1,如果找到了,返回s1在s2中第一次出现的位置,如果没有找到,返回-1。
阅读全文