用c语言编写一个函数 delete_char(char str[], char ch),其功能是从字符串 str 中删除所有由ch 指定的字符。在主函数中输入一个字符串和指定的字符,调用函数,然后输出结果。
时间: 2024-04-30 14:22:27 浏览: 91
```c
#include <stdio.h>
#include <string.h>
void delete_char(char str[], char ch) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (str[i] != ch) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100], ch;
printf("请输入字符串:");
scanf("%s", str);
printf("请输入要删除的字符:");
scanf(" %c", &ch);
delete_char(str, ch);
printf("删除后的字符串:%s\n", str);
return 0;
}
```
相关问题
有一个字符串,包含若干个字符。现输入一个字符,要求用c语言编写一个函数,将字符串中该字符删去。
以下是用C语言编写的函数,可以将字符串中指定字符删除:
```c
#include <stdio.h>
#include <string.h>
void deleteChar(char *str, char ch) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (str[i] != ch) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100], ch;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入要删除的字符:");
scanf(" %c", &ch);
deleteChar(str, ch);
printf("删除后的字符串为:%s\n", str);
return 0;
}
```
用c语言并不定义函数 输入一个字符串,再输入一个字符 ch,将字符串中所有的 ch 字符删除后输 出该字符串
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
void delete_char(char *str, char ch);
int main() {
char str[100], ch;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
printf("请输入要删除的字符:");
scanf("%c", &ch);
delete_char(str, ch);
printf("删除后的字符串为:%s\n", str);
return 0;
}
void delete_char(char *str, char ch) {
int len = strlen(str);
int i, j;
for (i = j = 0; i < len; i++) {
if (str[i] != ch) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
在这个程序中,我们使用了 `fgets` 函数来读取输入的字符串,而不是 `scanf`,因为 `scanf` 只能读取一个单词,而 `fgets` 可以读取一整行。
然后我们定义了一个 `delete_char` 函数,该函数接受两个参数:一个字符串指针和一个字符。该函数遍历字符串中的每个字符,如果该字符不等于要删除的字符,就将其复制到新的字符串中。最后,将新的字符串复制回原来的字符串中。
在主函数中,我们调用 `delete_char` 函数并打印出结果。
阅读全文