请用指针编程实现:输入一行字符串,输出其中大写字母、小写字母、空格、数字以及其他字符的个数。
时间: 2023-06-17 13:04:26 浏览: 148
习题输入一个字符串将其中的数字串转换-C语言指针课程资源
可以使用字符指针遍历字符串中的每个字符,对每个字符进行判断,并计数。具体实现如下:
```c
#include <stdio.h>
int main() {
char str[100];
int upper = 0, lower = 0, space = 0, digit = 0, other = 0;
printf("请输入一行字符串:\n");
fgets(str, sizeof(str), stdin); // 从标准输入读取一行字符串
char *p = str; // 定义字符指针p指向字符串的首地址
while (*p) { // 当*p不为'\0'时,即还没有到达字符串的结尾
if (*p >= 'A' && *p <= 'Z') // 判断是否为大写字母
upper++;
else if (*p >= 'a' && *p <= 'z') // 判断是否为小写字母
lower++;
else if (*p == ' ') // 判断是否为空格
space++;
else if (*p >= '0' && *p <= '9') // 判断是否为数字
digit++;
else // 其他字符
other++;
p++; // 指针p后移一位
}
printf("大写字母:%d\n小写字母:%d\n空格:%d\n数字:%d\n其他字符:%d\n", upper, lower, space, digit, other);
return 0;
}
```
注意,为了能够读取一行字符串,我们使用了`fgets()`函数,该函数可以从指定的输入流中读取指定长度的字符串,包括空格和换行符。同时,为了方便统计字符个数,我们定义了5个整型变量用来分别记录大写字母、小写字母、空格、数字和其他字符的个数。
阅读全文