用C语言编写程序 sY3-4.C。该程序的功能是:输入一串字符,找 Enter 键结束输人,分别输出其中的英文字母、数字字符和其他字行(字好和数字字符以外的字符)的个数
时间: 2023-05-23 09:06:10 浏览: 104
。以下是 sY3-4.C 的代码实现:
```c
#include <stdio.h>
int main() {
char c;
int letters = 0, digits = 0, others = 0;
printf("请输入一串字符,以 Enter 键结束:\n");
while ((c = getchar()) != '\n') {
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') {
letters++;
} else if (c >= '0' && c <= '9') {
digits++;
} else {
others++;
}
}
printf("字母个数:%d\n", letters);
printf("数字个数:%d\n", digits);
printf("其他字符个数:%d\n", others);
return 0;
}
```
该程序使用 getchar() 函数输入一串字符,然后逐个字符进行判断,计算出其中的英文字母数量、数字数量和其他字符数量,并将结果输出。其中:
- letters、digits、others 分别代表英文字母数量、数字数量和其他字符数量。
- 在 while 循环中,getchar() 函数会逐个读入字符,直到输入的字符是 Enter 键,循环结束。
- 判断字符的方法如下:
- 如果是英文字母,那么 ASCII 码范围在大写字母(A-Z)和小写字母(a-z)之间。
- 如果是数字字符,那么 ASCII 码范围在 0-9 之间。
- 如果不是英文字母和数字字符,那么它就是其他字符。
- 最后使用 printf() 函数输出结果。
注意:在某些编译器中会提示 getchar() 函数被认为是不安全的,可采用 scanf() 代替,代码如下:
```c
#include <stdio.h>
int main() {
char c;
int letters = 0, digits = 0, others = 0;
printf("请输入一串字符,以 Enter 键结束:\n");
while ((c = scanf("%c", &c)) != '\n') {
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') {
letters++;
} else if (c >= '0' && c <= '9') {
digits++;
} else {
others++;
}
}
printf("字母个数:%d\n", letters);
printf("数字个数:%d\n", digits);
printf("其他字符个数:%d\n", others);
return 0;
}
```
阅读全文