我正在做这个练习,想知道我的答案是否正确;
编写一个程序来打印输入中不同字符频率的直方图。
我在网上看到了其他几个答案,但它们与我的相差很大。此外,如果我的代码格式有任何问题或需要进行任何改进。欢迎任何建议。我确实理解这个问题需要一个直方图,但是一旦我有了所需的数据,就很容易构建一个。
#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]);
}
}