C语言 用string统计一个字符串大写字母和小写字母个数
时间: 2024-05-11 16:18:11 浏览: 128
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语言编程来统计一个字符串中大写字母、小写字母、数字和其他字符的个数。以下是一个实现这个功能的C语言程序:
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void countCharacters(const char *str) {
int uppercase = 0, lowercase = 0, digits = 0, others = 0;
int length = strlen(str);
for (int i = 0; i < length; i++) {
if (isupper(str[i])) {
uppercase++;
} else if (islower(str[i])) {
lowercase++;
} else if (isdigit(str[i])) {
digits++;
} else {
others++;
}
}
printf("统计结果:\n");
printf("大写字母: %d\n", uppercase);
printf("小写字母: %d\n", lowercase);
printf("数字: %d\n", digits);
printf("其他字符: %d\n", others);
}
int main() {
char str[1000];
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin);
// 移除换行符
str[strcspn(str, "\n")] = '\0';
countCharacters(str);
return 0;
}
这个程序的工作原理如下:
我们定义了一个
countCharacters
函数,它接受一个字符串作为参数。在这个函数中,我们使用四个变量来分别统计大写字母、小写字母、数字和其他字符的个数。
我们使用
strlen
函数获取字符串的长度,然后遍历字符串中的每个字符。对于每个字符,我们使用
ctype.h
头文件中提供的函数来判断它的类型:isupper
: 判断字符是否为大写字母islower
: 判断字符是否为小写字母isdigit
: 判断字符是否为数字
根据判断结果,我们增加相应的计数器。
最后,我们打印出统计结果。
在
main
函数中,我们从用户那里获取输入的字符串,并调用countCharacters
函数进行统计。
这个程序可以有效地统计字符串中各种类型字符的数量。您可以将它编译运行,并输入任意字符串来查看统计结果。
C语言统计输入的字符串中大写字母和小写字母的个数while语句
下面是一个 C 语言程序,使用 while 循环统计输入的字符串中大写字母和小写字母的个数:
#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。最后程序输出统计结果。
相关推荐














