[英]Count Number of Uppercase and Lowercase Letters in a string in C
我想創建一個查找大寫和小寫字母數量的代碼。 所以舉個例子
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
。
X[i]
包含小寫字母i
和大寫字母i
的計數,因為您要同時更新兩種情況。 最后的循環還將打印所有字母計數。 格式不符合您一開始就定義的格式。 通常,程序看起來與所聲明的要求完全不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.