用C语言编程题:采用指针编写函数,输入一行文字,找出其中的大写字母,小写字母,空格,数字 及其他字符的个数。主函数提供字符串。
时间: 2023-11-10 21:06:19 浏览: 111
可以采用以下的代码实现:
```c
#include <stdio.h>
void count_chars(char *str, int *upper, int *lower, int *space, int *digit, int *other)
{
while (*str) {
if (*str >= 'A' && *str <= 'Z')
(*upper)++;
else if (*str >= 'a' && *str <= 'z')
(*lower)++;
else if (*str == ' ')
(*space)++;
else if (*str >= '0' && *str <= '9')
(*digit)++;
else
(*other)++;
str++;
}
}
int main()
{
char str[100];
int upper = 0, lower = 0, space = 0, digit = 0, other = 0;
printf("Enter a string: ");
fgets(str, 100, stdin); // 使用 fgets 可以读取包含空格的字符串
count_chars(str, &upper, &lower, &space, &digit, &other);
printf("Uppercase letters: %d\n", upper);
printf("Lowercase letters: %d\n", lower);
printf("Spaces: %d\n", space);
printf("Digits: %d\n", digit);
printf("Other characters: %d\n", other);
return 0;
}
```
其中,`count_chars` 函数用来统计各种字符的数量,同时利用指针更新各个变量的值。主函数中先获取字符串,再调用 `count_chars` 函数统计字符数量并输出结果。
阅读全文