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

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

input: HelloGUYS Output: 4 5 

我的代码是这样的:

 #include  #include  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= 'a' && 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 ,只需使用isupper()islower()

遍历输入的每个字符,并有2个计数器 – upper_counterlower_counter

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