c 语言 编写程序,输入一个字符串,分别统计并输出其中的数字字符、空格字符和其他字符出现的次数。
时间: 2024-02-06 16:10:00 浏览: 70
可以使用 ASCII 码表进行字符类型的判断,以下是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
char str[100];
int digits = 0, spaces = 0, others = 0;
printf("请输入一个字符串:");
gets(str); // 此函数不安全,建议使用 fgets
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= '0' && str[i] <= '9') {
digits++;
} else if (str[i] == ' ') {
spaces++;
} else {
others++;
}
}
printf("数字字符出现了 %d 次\n", digits);
printf("空格字符出现了 %d 次\n", spaces);
printf("其他字符出现了 %d 次\n", others);
return 0;
}
```
运行程序后,输入一个字符串,即可输出其中数字字符、空格字符和其他字符出现的次数。请注意,此程序使用了不安全的 `gets` 函数,实际应用中应该使用更安全的 `fgets` 函数来读取输入的字符串。
相关问题
用C语言编写程序,输入一个字符串,统计其中数字字符出现的次数
在C语言中,我们可以使用`ctype.h`库中的函数来判断一个字符是否为数字,并结合循环结构遍历整个字符串来统计数字字符出现的次数。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100]; // 假设字符串长度不超过100
int digit_count = 0; // 初始化数字计数器
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin); // 读取用户输入,包括换行符
// 使用strspn函数从字符串开始查找非空格、非数字字符的位置
size_t non_digit_pos = strspn(str, " \t\n0123456789");
// 计算数字字符的数量
digit_count = strlen(str) - non_digit_pos;
printf("字符串 '%s' 中数字字符出现了 %d 次。\n", str, digit_count);
return 0;
}
```
在这个程序中,`strspn(str, " \t\n0123456789")`返回的是第一个不是数字字符的位置,然后我们用字符串总长度减去这个位置就是数字字符的数量。
编写程序,从键盘输入一行字符串,统计并输出其中英文、数字、空格和其他字符的个数。
```python
string = input("请输入一行字符串:")
letters = 0
digits = 0
spaces = 0
others = 0
for char in string:
if char.isalpha(): # 判断是否为字母
letters += 1
elif char.isdigit(): # 判断是否为数字
digits += 1
elif char.isspace(): # 判断是否为空格
spaces += 1
else: # 其他字符
others += 1
print("字母个数:", letters)
print("数字个数:", digits)
print("空格个数:", spaces)
print("其他字符个数:", others)
```
示例输出:
```
请输入一行字符串:Hello, 123 world!
字母个数: 10
数字个数: 3
空格个数: 2
其他字符个数: 2
```
阅读全文