编写函数,对于给定的字符串,用指定字符替换该字符串中的数字字符。 函数接口定义: 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$
时间: 2024-03-23 08:40:45 浏览: 86
答案如下:
```c
#include <stdio.h>
#include <string.h>
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;
}
}
}
int main() {
char str[81], ch;
fgets(str, sizeof(str), stdin);
scanf("%c", &ch);
replace_num(str, ch);
puts(str);
return 0;
}
```
注意:
1. 使用 `fgets` 代替 `gets`,避免因为输入超过数组长度而导致的缓冲区溢出。
2. 使用 `scanf` 代替 `getchar`,避免读取到多余的换行符。
3. 对于每个字符,判断是否是数字字符,如果是则替换为指定字符。
相关问题
编写函数,对于给定的字符串,用指定字符替换该字符串中的数字字符。 要求使用指针实现。 函数接口定义: void replace_num ( char *s, char c );
好的,我来为您编写这个函数。以下是函数的实现:
```c++
void replace_num(char *s, char c) {
if (!s) {
return;
}
while (*s != '\0') {
if (*s >= '0' && *s <= '9') {
*s = c;
}
s++;
}
}
```
函数的参数说明如下:
- `s`:指向待替换字符串的指针。
- `c`:指定的字符,用于替换数字字符。
函数的实现比较简单,我们只需要遍历字符串中的每个字符,判断其是否为数字字符,如果是,就将其替换为指定的字符,最后返回即可。
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'` 时,即是一个数字字符。
阅读全文
相关推荐
















