c语言用指针方式输入一串字符求大写字母的个数
时间: 2023-08-07 10:08:16 浏览: 109
可以使用指针遍历字符串的每一个字符,判断是否为大写字母,然后统计个数。代码如下:
```c
#include <stdio.h>
int main() {
char str[100];
printf("请输入一串字符:");
gets(str);
int count = 0;
char *p = str;
while (*p != '\0') {
if (*p >= 'A' && *p <= 'Z') {
count++;
}
p++;
}
printf("大写字母的个数为:%d\n", count);
return 0;
}
```
注意,在使用 `gets` 函数输入字符串时,需要保证输入的字符串长度不超过数组的长度,否则会导致缓冲区溢出。
相关问题
c语言利用指针分别统计一串字符中的大、小写字母的个数
下面是一个用指针实现的统计字符串中大、小写字母个数的示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int uppercase = 0, lowercase = 0;
char *p;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
p = str;
while (*p != '\0') {
if (isupper(*p))
uppercase++;
else if (islower(*p))
lowercase++;
p++;
}
printf("大写字母个数:%d\n", uppercase);
printf("小写字母个数:%d\n", lowercase);
return 0;
}
```
程序先定义了一个字符数组 `str` 和两个整型变量 `uppercase` 和 `lowercase`,分别用于记录大写字母和小写字母的个数。然后声明了一个字符指针 `p`,并将其初始化为 `str` 的地址。
接下来使用 `fgets()` 函数从控制台读入一个字符串,并通过指针 `p` 遍历字符串中的每个字符。在遍历过程中,如果当前字符是大写字母,则 `uppercase` 变量加 1;如果是小写字母,则 `lowercase` 变量加 1。最后输出统计结果即可。
需要注意的是,这里使用了 C 标准库中的 `isupper()` 和 `islower()` 函数来判断字符是否是大写字母或小写字母。这些函数需要包含头文件 `<ctype.h>`。
c语言利用指针分别统计一串字符中的大、小写字母的个数。
下面是一个示例程序,可以统计一串字符中大写字母和小写字母的个数:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, upper_count = 0, lower_count = 0;
printf("请输入一串字符:");
fgets(str, 100, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
upper_count++;
} else if (islower(str[i])) {
lower_count++;
}
}
printf("大写字母个数:%d\n", upper_count);
printf("小写字母个数:%d\n", lower_count);
return 0;
}
```
程序首先读入一串字符,然后使用 for 循环遍历字符串中的每个字符,通过调用 ctype.h 头文件中的 isupper 和 islower 函数来判断当前字符是否为大写字母或小写字母,如果是则对应计数器加 1。最后输出统计结果。
阅读全文