输入一行文字,统计并输出其中大写字母、小写字母、空格、数字以及其它字符各有多少,要求用指针方法编程实现。
时间: 2024-03-09 15:49:52 浏览: 80
好的,可以使用指针方法编写一个函数来实现这个功能。下面是示例代码:
```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("请输入一行文字:\n");
fgets(str, 100, stdin);
count_chars(str, &upper, &lower, &space, &digit, &other);
printf("大写字母:%d\n", upper);
printf("小写字母:%d\n", lower);
printf("空格:%d\n", space);
printf("数字:%d\n", digit);
printf("其它字符:%d\n", other);
return 0;
}
```
在 `count_chars` 函数中,使用指针来传递变量的地址,然后通过指针来修改变量的值,最后在 `main` 函数中输出各个变量的值即可。
阅读全文