编写C语言程序,实现的功能是:统计一个字符串中大写字母、小写字母、数字和其他字符的个数,用指针实现,不用ctype.h头文件
时间: 2024-03-07 17:46:47 浏览: 66
C语言指针精选习题和答案.doc
好的,下面是实现代码:
```c
#include <stdio.h>
void count_chars(char *str, int *upper, int *lower, int *digit, int *other) {
while (*str) {
if (*str >= 'A' && *str <= 'Z') {
(*upper)++;
} else if (*str >= 'a' && *str <= 'z') {
(*lower)++;
} else if (*str >= '0' && *str <= '9') {
(*digit)++;
} else {
(*other)++;
}
str++;
}
}
int main() {
char str[100];
int upper = 0, lower = 0, digit = 0, other = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
count_chars(str, &upper, &lower, &digit, &other);
printf("大写字母:%d\n小写字母:%d\n数字:%d\n其他字符:%d\n", upper, lower, digit, other);
return 0;
}
```
这个程序与前一个程序类似,只是没有使用 `ctype.h` 中的函数。我们改为使用字符的 ASCII 码来判断它们的类型。大写字母的 ASCII 码范围是 65 到 90,小写字母的 ASCII 码范围是 97 到 122,数字的 ASCII 码范围是 48 到 57。其他字符的 ASCII 码不在这些范围内。
虽然这个程序没有使用 `ctype.h` 中的函数,但它也可以正确地统计字符串中各种字符的个数。
阅读全文