用c语言写一个输入一串字符,按Enter键结束输入,分别输出其中的英文字母、数字字符和其他字符的个数
时间: 2023-05-21 07:03:47 浏览: 126
好的,以下是用C语言实现输入一串字符,按Enter键结束输入,分别输出其中的英文字母、数字字符和其他字符的个数的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, alpha = 0, digit = 0, other = 0;
printf("请输入一串字符,按Enter键结束输入:\n");
fgets(str, 100, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
alpha++;
} else if (isdigit(str[i])) {
digit++;
} else {
other++;
}
}
printf("其中英文字母的个数为:%d\n", alpha);
printf("其中数字字符的个数为:%d\n", digit);
printf("其中其他字符的个数为:%d\n", other);
return 0;
}
```
希望这个代码能够帮到你!
相关问题
用C语言编写程序 sY3-4.C。该程序的功能是:输入一串字符,找 Enter 键结束输人,分别输出其中的英文字母、数字字符和其他字行(字好和数字字符以外的字符)的个数
。以下是 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;
}
```
c语言:从键盘输入一行字符,以按Enter键作为结束标志,分别统计其中字母(不区分大小写)、 数字字符和其他字符的个数。
```
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch;
int letter_count = 0, digit_count = 0, other_count = 0;
printf("请输入一行字符(以Enter键作为结束标志):\n");
while ((ch = getchar()) != '\n') {
if (isalpha(ch)) { // 判断是否为字母
letter_count++;
} else if (isdigit(ch)) { // 判断是否为数字字符
digit_count++;
} else { // 其他字符
other_count++;
}
}
printf("字母个数:%d\n", letter_count);
printf("数字字符个数:%d\n", digit_count);
printf("其他字符个数:%d\n", other_count);
return 0;
}
```
阅读全文