私はCプログラミングの初心者で、ユーザーが入力した文字列をアルファベット順にソートするプログラムを作成しようとしています。これまで私は以下のコードを持っています。誰も私がそれを正しく実行するために助けることができますか?コードはコンパイルされて実行されますが、実行中のカウントが正しく格納されていないようです。文字列内のアルファベットの文字列C
デバッグする限り、私はカウンタとしての文字の使用が問題になる可能性があることに気がつきましたが、これは他の場所で行われているのを見て、codeはコンパイルしてうまく動作します。前もって感謝します。
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char str[10], strout[10] ;
char letter ;
int letter_count[26] = {0} ;
int i, j , k, l, strlength ;
printf("Please enter a string and I'll sort it \n") ;
fgets(str, sizeof(str), stdin) ;
strlength = strlen(str) ;
for(i = 0 ; i < strlength ; i++)
{
if((str[i] >= 'A') && (str[i] <= 'Z'))
{
printf("Capital letter\n") ;
letter = str[i] - 'A' ;
letter_count[letter] = letter_count[l] + 1 ;
printf("Letter %c has a count of %d\n",str[i], letter_count[i]) ;
}
else if((str[i] >= 'a') && (str[i] <= 'z'))
{
printf("Lower case\n") ;
letter = str[i] - 'a' ;
letter_count[letter] = letter_count[l] + 1 ;
printf("Letter %c has a count of %d\n",str[i], letter_count[i]) ;
}
}
k = 0 ;
for(letter = 'a' ; letter <= 'z' ; letter++)
{
i = letter - 'a' ;
for(j = 0 ; j <= letter_count[i] ; j++)
{
strout[k] = letter ;
k++ ;
}
}
return 0 ;
}
ありがとう – James