私はこの演習を行っていて、私の答えが正しいかどうか知りたいと思っていました。
入力内のさまざまな文字の頻度のヒストグラムを印刷するプログラムを作成します。
私は他のいくつかの答えをオンラインで見ましたが、それらは私のものとはかなり異なります。また、私のコードの形式に問題がある場合、または行われるべき改善がある場合。どんな提案でも大歓迎です。質問にはヒストグラムが必要であることは理解していますが、必要なデータがあれば、ヒストグラムを作成するのは非常に簡単です。
#include <stdio.h>
int main(){
int userInput;
int arrayStuff[92];
int i, j;
for(i = 0; i < 92; ++i){
arrayStuff[i] = 0;
}
while((userInput = getchar()) != '\n'){
if(userInput >= 30 && userInput <= 122){
if(userInput != '\n'){
++arrayStuff[(userInput-30)];
}
if(userInput == '\n'){
break;
}
}
}
printf("Case\t|\tOccurances\n");
for(i = 0; i < 92; ++i){
printf("%c\t|\t%d\n", (i+30), arrayStuff[i]);
}
}