C计算字符串中大小写字母的个数

标签 c string count char int

我想创建一个代码来查找大写字母和小写字母的数量。例如

input:
HelloGUYS
Output:
4 5

我的代码是这样的:

#include <stdio.h>
#include <string.h>

int main()
{
int i, longitud;
int X[26];
char line[1010];

for(i=0; i<26; i++)
{
    X[i] = 0;
}

while(gets(line))
{
   longitud = strlen(line);

   for(i=0; i<longitud; i++)
   {
      if(line[i] >= 'a' && line[i] <= 'z')
      {
        X[line[i] - 'a']++;
      }
      else if(line[i] >= 'A' && line[i] <= 'Z')
      {
        X[line[i] - 'A']++;
      }
   }
}

for(i=0; i<26; i++)
{
    printf("%c: %d\n", i+'a' , X[i]);
}

return 0;
}

问题是我的程序不工作,我不知道是什么问题。我真的很感激帮助。谢谢:)

最佳答案

您需要的远比这简单。

您需要 #include <ctype.h>只需使用 isupper()islower() .

遍历输入的每个字符并有 2 个计数器 - upper_counter , lower_counter .

关于C计算字符串中大小写字母的个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33370850/

相关文章:

mysql - 使用 GROUP BY 进行不同计数

c - 在 WIN32 中的 "BUTTON"类窗口上显示位图

c - 如何调试程序挂起的原因?

java - 检查对象是否为 String 类型

c - 字符串的第一个字符在哪里?

MySQL 查询数据库中特定用户的连接+计数

mysql - 统计mysql中唯一数据出现的次数

c - 尝试与strtok类似的拆分和存储数组

c - 如何在LCD上写入浮点值?

java - 使用拆分方法从单个字符串中提取字段名称