我想创建一个代码来查找大写和小写字母的数量。例如,
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;
}
问题是我的程序不起作用,我不知道问题是什么。我真的非常感谢你的帮助。谢谢:))
答案 0 :(得分:2)
你需要的是比这简单。
您需要#include <ctype.h>
并使用isupper()
和islower()
。
查看输入的每个字符,并有2个计数器 - upper_counter
,lower_counter
。
答案 1 :(得分:0)
您的X[i]
包含小写和大写字母i
的计数,因为您要为这两种情况更新它。最后一个循环也将打印所有字母计数。不是您在开头定义的格式。通常情况下,程序看起来与所述要求完全完全不同。