帮我写一段C语言代码在主函数中输入一行字符串 str,再输入一个字符ch,将字符串中所有 的ch字符删除后这输出该字符串。要求定义和调用函数delchat(str,ch),该函 数将字符串str中出现的所有ch字符删除。
时间: 2024-02-17 07:01:22 浏览: 80
好的,下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
void delchat(char str[], char ch);
int main() {
char str[100], ch;
printf("请输入一个字符串:");
gets(str);
printf("请输入一个字符:");
scanf("%c", &ch);
delchat(str, ch);
printf("删除后的字符串为:%s", str);
return 0;
}
void delchat(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';
}
```
首先,在主函数中输入一个字符串和一个字符,然后调用函数`delchat`,将字符串中的字符ch删除,最后输出删除后的字符串。
在`delchat`函数中,首先获取字符串的长度,然后遍历字符串中的每个字符,如果该字符不是要删除的字符,就将该字符赋值给新的字符串中,最后在新字符串的末尾加上一个`\0`,表示字符串结束。
相关问题
编写一个C语言程序:在主函数中输入一行字符串 str,再输入一个字符 ch,将字符串中所有的 ch 字符删除后这输出该字符串。要求定义和调用函数 delchar(str,ch),该函数将字符串 str 中出现的所有 ch 字符删除。
以下是实现要求的C语言程序:
```c
#include <stdio.h>
#include <string.h>
void delchar(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("请输入一行字符串:");
fgets(str, sizeof(str), stdin);
printf("请输入要删除的字符:");
scanf("%c", &ch);
delchar(str, ch);
printf("删除后的字符串:%s", str);
return 0;
}
```
在这个程序中,我们定义了一个名为 `delchar` 的函数,该函数接收两个参数:一个字符串指针 `str` 和一个字符 `ch`。该函数的作用是将字符串 `str` 中出现的所有 `ch` 字符删除。具体的实现方式是使用两个指针 `i` 和 `j` 遍历字符串 `str`,当指针 `i` 指向的字符不是 `ch` 时,将其复制到指针 `j` 指向的位置,然后将指针 `j` 向后移动一位。最后,将指针 `j` 所指向的位置设置为字符串结束符 `\0`。
在主函数中,我们首先使用 `fgets` 函数从标准输入中读取一行字符串,并使用 `scanf` 函数读取要删除的字符。然后,我们调用 `delchar` 函数将字符串中的指定字符删除,并输出删除后的字符串。
用c语言编写一个函数 delete_char(char str[], char ch),其功能是从字符串 str 中删除所有由ch 指定的字符。在主函数中输入一个字符串和指定的字符,调用函数,然后输出结果。
```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;
}
```
阅读全文