本题要求实现一个删除字符串中的指定字符的简单函数。 函数接口定义: void delchar( char *str, char c ); 其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。 裁判测试程序样例:
时间: 2023-04-29 09:06:47 浏览: 47
本题要求实现一个删除字符串中指定字符的简单函数。函数接口定义为:void delchar(char *str, char c); 其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。
例如测试程序样例:
相关问题
用C语言编写一函数删除字符串中指定的字符,函数的原型为: void strdelch( char *str, char c ),并制作流程
好的,下面是实现函数的代码和流程图。
```c
#include <stdio.h>
#include <string.h>
void strdelch(char *str, char c) {
int i, j;
for (i = j = 0; str[i] != '\0'; i++) {
if (str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
char c;
printf("请输入一个字符串:");
scanf("%s", str);
getchar(); // 读取多余的回车符
printf("请输入要删除的字符:");
scanf("%c", &c);
strdelch(str, c);
printf("删除指定字符后的字符串为:%s\n", str);
return 0;
}
```
流程图如下:
![strdelch函数流程图](https://i.imgur.com/3rS6Q0u.png)
希望对您有所帮助!
c语言编写函数,从给定字符串中删除指定的字符。 函数接口定义: void del_char(char str[],char ch); 裁判测试程序样例: #include <stdio.h> #include <string.h> void del_char(char str[],char ch); int main() { char c,s[81]; gets(s); c=getchar(); del_char(s,c); puts(s); } /* 请在这里填写答案 */ 输入样例: student t 输出样例: suden
以下是函数实现代码:
```c
void del_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'; // 字符串结尾
}
```
函数的思路是遍历给定字符串 `str`,将不等于指定字符 `ch` 的字符放到字符串的前面,构成一个新的字符串。用两个指针 `i` 和 `j` 分别指向原字符串和新字符串。当 `str[i]` 不等于 `ch` 时,将其复制到 `str[j]` 中,并将 `j` 后移一位,否则跳过该字符。最后将新字符串的结尾置为 `\0`,即可得到删除指定字符后的字符串。