C语言 用string统计一个字符串大写字母和小写字母个数
时间: 2024-05-11 16:18:11 浏览: 8
C语言中没有直接的字符串类型,一般使用字符数组来表示字符串。统计一个字符串中大写字母和小写字母的个数可以使用字符数组遍历和字符判断的方式实现。下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len, i, upper = 0, lower = 0;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str); // 计算字符串长度
for (i = 0; i < len; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z')
upper++;
else if (str[i] >= 'a' && str[i] <= 'z')
lower++;
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
return 0;
}
```
代码中使用 `scanf` 函数读取输入的字符串,使用 `strlen` 函数计算字符串长度,然后使用 `for` 循环遍历字符串中的每个字符,判断是否为大写字母或小写字母,并计数。最后输出大写字母和小写字母的个数。
相关问题
c语言分别统计一个字符串中出现小写字母大写字母数字和空格的个数
好的,您可以用以下C语言代码实现该功能:
```
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[100];
int i, len, digit, upper, lower, space;
printf("请输入字符串:");
gets(str);
len = strlen(str);
digit = upper = lower = space = 0;
for(i = 0; i < len; i++)
{
if(isdigit(str[i])) // 统计数字个数
digit++;
else if(isupper(str[i])) // 统计大写字母个数
upper++;
else if(islower(str[i])) // 统计小写字母个数
lower++;
else if(str[i]==' ') // 统计空格个数
space++;
}
printf("数字个数:%d\n", digit);
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("空格个数:%d\n", space);
return 0;
}
```
注意,此代码使用了gets()函数获取字符串,它并不安全,因为它无法防止缓冲区溢出,建议使用更安全的fgets()函数来替代。
C语言统计输入的字符串中大写字母和小写字母的个数while语句
下面是一个 C 语言程序,使用 while 循环统计输入的字符串中大写字母和小写字母的个数:
```c
#include <stdio.h>
int main() {
char str[100];
int i = 0, upper = 0, lower = 0;
printf("Enter a string: ");
scanf("%s", str);
while (str[i] != '\0') {
if (str[i] >= 'A' && str[i] <= 'Z') {
upper++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lower++;
}
i++;
}
printf("Number of uppercase letters: %d\n", upper);
printf("Number of lowercase letters: %d\n", lower);
return 0;
}
```
程序首先提示用户输入一个字符串,并使用 scanf 函数将字符串存储在字符数组 str 中。然后使用 while 循环遍历字符串中的每个字符,如果字符是大写字母,则将大写字母计数器 upper 加 1;如果字符是小写字母,则将小写字母计数器 lower 加 1。最后程序输出统计结果。