分别统计标准输入中字母、数字字符个数(输入以Ctr-z结束)c语言代码
时间: 2023-09-26 16:08:00 浏览: 181
以下是一个简单的 C 代码,可以统计标准输入中字母和数字字符的个数:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int letterCount = 0;
int digitCount = 0;
int c;
while ((c = getchar()) != EOF) {
if (isalpha(c)) {
letterCount++;
} else if (isdigit(c)) {
digitCount++;
}
}
printf("字母个数:%d\n", letterCount);
printf("数字个数:%d\n", digitCount);
return 0;
}
```
该代码利用标准库中的 `isalpha` 和 `isdigit` 函数来判断字符是字母还是数字。在每次循环中,如果输入的字符是字母,则 `letterCount` 加 1;如果输入的字符是数字,则 `digitCount` 加 1。最后输出统计结果。
相关问题
问题描述】分别统计标准输入中字母、数字字符个数(输入以ctr-z结束)。 【输入形式
输入形式:
- 标准输入中包含字母和数字字符。
- 使用ctr-z结束输入。
【算法思路】
1. 初始化字母字符数目为0,数字字符数目为0。
2. 从标准输入读取字符,直到遇到ctr-z结束循环。
3. 对每个读取的字符进行判断:
- 若为字母字符,则字母字符数目加1。
- 若为数字字符,则数字字符数目加1。
- 其他字符不做处理。
4. 输出最终的字母字符数目和数字字符数目。
【示例代码】
```python
# 定义变量记录字母字符数目和数字字符数目
letter_count = 0
digit_count = 0
# 从标准输入读取字符,直到遇到ctr-z结束循环
while True:
try:
# 读取一个字符
char = input()
# 判断字符类型并增加对应计数
if char.isalpha(): # 判断是否为字母字符
letter_count += 1
elif char.isdigit(): # 判断是否为数字字符
digit_count += 1
except EOFError:
break
# 输出字母字符数目和数字字符数目
print("字母字符个数:", letter_count)
print("数字字符个数:", digit_count)
```
【示例输入】
abc123def456
【示例输出】
字母字符个数:6
数字字符个数:6
分别统计标准输入中字母、数字字符个数。
可以使用Python中的isalpha()和isnumeric()函数来判断字符是否为字母和数字。具体实现代码如下:
```
alpha_count = 0
numeric_count = 0
while True:
try:
# 从标准输入读取一个字符
c = input()[0]
if c.isalpha():
alpha_count += 1
elif c.isnumeric():
numeric_count += 1
except:
# 如果读取到EOF,则退出循环
break
print("字母个数:", alpha_count)
print("数字个数:", numeric_count)
```
在这个代码中,我们使用了一个while循环来不断从标准输入读取字符,并使用isalpha()和isnumeric()函数来判断字符是否为字母或数字,最后统计出字母和数字的个数。需要注意的是,我们使用try/except语句来处理EOF错误,以避免程序在读取到EOF时终止。