输入一个字符串,用指定字符替换字符串中的非数字字符并输出,用C语言输出程序
时间: 2024-04-30 10:19:15 浏览: 180
以下是用C语言实现的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
char replace_char;
int i;
printf("请输入字符串:");
fgets(str, 100, stdin);
printf("请输入替换字符:");
scanf("%c", &replace_char);
for (i = 0; str[i] != '\0'; i++) {
if (!isdigit(str[i])) {
str[i] = replace_char;
}
}
printf("替换后的字符串为:%s\n", str);
return 0;
}
```
首先,我们定义一个字符数组 `str` 来存储输入的字符串,同时定义了一个字符变量 `replace_char` 用于存储指定的替换字符。然后,使用 `fgets()` 函数从标准输入中读取字符串。接着,使用 `scanf()` 函数读取替换字符。
在循环中,我们使用 `isdigit()` 函数判断当前字符是否为数字,如果不是数字,则将其替换为指定的字符。最后,使用 `printf()` 函数输出替换后的字符串。
相关问题
输入一个字符串,用指定字符替换字符串中的非数字字符并输出,c语言怎么写
可以使用C语言中的字符串处理函数和条件语句来实现该功能。以下是一种可能的实现方式:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], replace;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入要替换非数字字符的字符:");
scanf(" %c", &replace); // 注意加一个空格,避免读取上一个输入的换行符
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] < '0' || str[i] > '9') {
str[i] = replace;
}
}
printf("替换后的字符串为:%s\n", str);
return 0;
}
```
在上述代码中,首先使用`scanf`函数读取输入的字符串和替换字符。然后遍历字符串中的每个字符,如果不是数字字符(即ASCII码值小于字符'0'或大于字符'9'),就将其替换为指定的字符。最后使用`printf`函数输出替换后的字符串。
用C语言编写一个程序,要求为输入一个字符串,用指定字符替代字符串中的非数字字符并输出,在第一行中输入不超过80个字符长度的,以回车结束的非空字符串,在一行中输出替换完成后的字符串
以下是用C语言编写的程序,可以实现上述要求:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[81];
fgets(str, sizeof(str), stdin); // 读入一行字符串,包括回车符
str[strcspn(str, "\n")] = '\0'; // 去掉回车符
for (int i = 0; i < strlen(str); i++) {
if (str[i] < '0' || str[i] > '9') { // 非数字字符
str[i] = '*'; // 用 * 替代
}
}
printf("%s\n", str); // 输出替换完成后的字符串
return 0;
}
```
运行程序后,输入一个非空字符串,程序会将其中的非数字字符替换为 * 并输出。例如,输入字符串 `abc123def456`,输出字符串为 `***123***456`。
阅读全文