簡體   English   中英

計算C中字符串中大寫和小寫字母的數量

[英]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_counterlower_counter

X[i]包含小寫字母i和大寫字母i的計數,因為您要同時更新兩種情況。 最后的循環還將打印所有字母計數。 格式不符合您一開始就定義的格式。 通常,程序看起來與所聲明的要求完全不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM