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
时间: 2024-03-27 10:40:13 浏览: 113
以下是函数实现代码:
```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`,即可得到删除指定字符后的字符串。
相关问题
c语言编写函数,对于给定的字符串,用指定字符替换该字符串中的数字字符。 函数接口定义: void replace_num ( char s[], char c ); 用指定字符 c 替换该字符串 s 中的数字字符。 裁判测试程序样例: #include <stdio.h> #include <string.h> void replace_num ( char s[], char c ); int main() { char str[81],ch; gets (str); ch=getchar(); replace_num(str,ch); puts(str); } /* 请在这里填写答案 */ 输入样例: abc0AB9 $ 输出样例: abc$AB$
以下是函数实现代码:
```c
void replace_num(char s[], char c) {
int len = strlen(s);
for (int i = 0; i < len; i++) {
if (s[i] >= '0' && s[i] <= '9') { // 如果该字符是数字字符
s[i] = c; // 用指定字符替换
}
}
}
```
函数的思路是遍历给定字符串 `s`,判断每个字符是否为数字字符。如果是数字字符,则将其替换为指定字符 `c`。注意,可以使用 ASCII 编码判断一个字符是否为数字字符。当一个字符 `ch` 满足 `'0' <= ch <= '9'` 时,即是一个数字字符。
用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;
}
```
流程图如下:

希望对您有所帮助!
阅读全文
相关推荐














