c编写简易程序完成字符串过滤,输入一个字符串,过滤此串,只保留串中的非数字字符不使用include <ctype.h>
时间: 2024-12-15 14:23:58 浏览: 18
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
在C语言中,如果你想要编写一个简单的程序来过滤输入的字符串,只保留非数字字符,而不使用`<ctype.h>`库,你可以选择遍历字符串并检查每个字符是否为数字。这里是一个基本的示例:
```c
#include <stdio.h>
#include <string.h>
int is_not_digit(char c) {
if (c >= '0' && c <= '9') {
return 0; // 如果是数字,返回0表示保留
} else {
return 1; // 非数字字符返回1表示保留
}
}
void filter_string(const char *input, char *output) {
int i = 0;
for (char c : input) {
if (is_not_digit(c)) {
output[i++] = c; // 保留非数字并将结果存入output数组
}
}
output[i] = '\0'; // 结束字符串,并添加空字符
}
int main() {
char str[] = "Hello123World456!";
char filtered_str[100];
filter_string(str, filtered_str);
printf("Filtered String: %s\n", filtered_str);
return 0;
}
```
在这个例子中,我们创建了一个名为`filter_string`的函数,它接受输入字符串和一个临时存储过滤后的字符串的数组。`is_not_digit`函数用于判断字符是否是非数字字符。`main`函数中,我们演示了如何使用这个过滤过程。
阅读全文