C语言输入一行字符,把其中的非数字存到数组中输出
时间: 2023-12-24 07:02:57 浏览: 66
C语言字符串的输入和输出
可以使用C语言的标准库函数`isdigit()`来判断一个字符是否为数字。具体实现过程如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[100]; // 定义输入数组
char non_digits[100]; // 定义非数字数组
int i = 0, j = 0;
printf("请输入一行字符:\n");
fgets(input, 100, stdin); // 从标准输入中读取一行字符
while (input[i] != '\0') { // 遍历输入数组
if (!isdigit(input[i])) { // 如果当前字符不是数字
non_digits[j] = input[i]; // 将非数字存入非数字数组
j++;
}
i++;
}
printf("非数字字符为:\n");
printf("%s", non_digits); // 输出非数字数组
return 0;
}
```
需要注意的是,在输入字符时要使用`fgets()`函数,而不是`scanf()`函数,因为`fgets()`可以读取一整行字符,而不会因为空格或换行符而中断读取。同时,读取的字符数组最后会自动加上一个`\0`作为结尾标志,因此我们可以通过判断是否到达了结尾来结束遍历。
阅读全文