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

时间:2015-10-27 14:38:16

标签: 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;
}

问题是我的程序不起作用,我不知道问题是什么。我真的非常感谢你的帮助。谢谢:))

2 个答案:

答案 0 :(得分:2)

你需要的是比这简单。

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

查看输入的每个字符,并有2个计数器 - upper_counterlower_counter

答案 1 :(得分:0)

您的X[i]包含小写和大写字母i的计数,因为您要为这两种情况更新它。最后一个循环也将打印所有字母计数。不是您在开头定义的格式。通常情况下,程序看起来与所述要求完全完全不同。