用指针实现。输入一行文字,统计其中大写字母、小写字母、空格、数字及其他字符的个数。c语言代码
时间: 2024-12-31 18:49:35 浏览: 16
在C语言中,我们可以使用指针和一些基本的ASCII码规则来实现这个功能。这里是一个简单的示例:
```c
#include <stdio.h>
#include <ctype.h>
void count_chars(char *str) {
int uppercase = 0;
int lowercase = 0;
int spaces = 0;
int digits = 0;
int others = 0;
while (*str) { // 遍历字符串
if (isupper(*str)) { // 如果是大写字母
uppercase++;
} else if (islower(*str)) { // 如果是小写字母
lowercase++;
} else if (*str == ' ') { // 如果是空格
spaces++;
} else if (isdigit(*str)) { // 如果是数字
digits++;
} else { // 其他字符
others++;
}
str++; // 移动到下一个字符
}
printf("Uppercase letters: %d\n", uppercase);
printf("Lowercase letters: %d\n", lowercase);
printf("Spaces: %d\n", spaces);
printf("Digits: %d\n", digits);
printf("Other characters: %d\n", others);
}
int main() {
char input[100];
printf("Enter a line of text: ");
fgets(input, sizeof(input), stdin);
// 移除fgets的换行符
input[strlen(input) - 1] = '\0';
count_chars(input);
return 0;
}
```
在这个程序中,`count_chars`函数接收一个指向字符串的指针,通过`isupper`、`islower`、`isspace`和`isdigit`这些标准库函数检查每个字符并更新相应的计数。`main`函数中获取用户输入并传递给`count_chars`。
阅读全文