用c语言编写,不用库函数,用while循环编写,输入一行字符串,输出其中英字母、数字字符和其他字符数
时间: 2024-10-16 14:12:33 浏览: 31
在C语言中,你可以使用`while`循环结合ASCII码值来实现这个功能。首先,你需要定义三个计数器分别用于记录英文字母、数字字符和非字母数字字符的数量。下面是一个简单的示例:
```c
#include <stdio.h> // 这里只用到`printf`,不算库函数
int main() {
int alpha_count = 0; // 英文字符计数器
int digit_count = 0; // 数字字符计数器
int other_count = 0; // 其他字符计数器
char input;
printf("请输入一行字符串: ");
while ((input = getchar()) != '\n') { // 获取并检查每个字符直到换行符
if (isalpha(input)) { // 判断是否为字母(大小写字母)
alpha_count++;
} else if (isdigit(input)) { // 判断是否为数字
digit_count++;
} else { // 非字母数字字符
other_count++;
}
}
// 输出结果
printf("英文字符数: %d\n", alpha_count);
printf("数字字符数: %d\n", digit_count);
printf("其他字符数: %d\n", other_count);
return 0;
}
```
在这个程序中,我们使用了`getchar()`函数获取用户输入的一个字符,并通过`isalpha()`和`isdigit()`函数判断字符的性质。这两个函数在这里虽然不是标准库函数,但是通常在C编译环境中可以使用,因为它们常常作为教学的一部分被实现。
阅读全文