.C语言 求一行字符中字母、空格、数字等的个数(循环
时间: 2024-12-09 21:17:52 浏览: 11
在C语言中,如果你想要计算一行字符中字母、空格、数字的数量,你可以使用`ctype.h`库提供的函数来判断每个字符的类别,并通过循环逐一统计。下面是一个简单的示例:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int count_chars(char *str) {
int alpha_count = 0; // 字母计数
int space_count = 0; // 空格计数
int digit_count = 0; // 数字计数
for(int i = 0; str[i] != '\0'; i++) { // 遍历字符串直到遇到结束符'\0'
if(isalpha(str[i])) { // 判断是否为字母
alpha_count++;
} else if isspace(str[i])) { // 判断是否为空格
space_count++;
} else if.isdigit(str[i]) { // 判断是否为数字
digit_count++;
}
}
return alpha_count + space_count + digit_count;
}
int main() {
char input[] = "Hello, World! 123"; // 测试字符串
int total_count = count_chars(input);
printf("Alpha characters: %d\n", total_count - count_spaces(input));
printf("Spaces: %d\n", count_spaces(input)); // 单独获取空格数量
printf("Digits: %d\n", count_digits(input)); // 单独获取数字数量
return 0;
}
// 辅助函数来分别计数空格和数字,避免冗余
int count_spaces(char *str) {
int count = 0;
for(int i = 0; str[i] != '\0'; i++) {
if(isspace(str[i]))
count++;
}
return count;
}
int count_digits(char *str) {
int count = 0;
for(int i = 0; str[i] != '\0'; i++) {
if(isdigit(str[i]))
count++;
}
return count;
}
```
这个程序会分别统计字母、空格和数字的数量,并且在`main`函数中提供了一个测试字符串。
阅读全文