|
途中まで作ったのですが、あってるのかどうかさえ
わからなくなってきました。丸投げっぽくて申し訳
ないのですが教えて頂ければ助かります。
作りたいのは文章を読み込んで、使われている文字の
頻度を調べ多い順に出力するというプログラムです。
調べる文字は英数字で大文字小文字の区別はしません。
よろしくお願いします。
#include <stdio.h>
#define SIZE 1000
main()
{
char buf[SIZE];
int alpha, num;
int i;
int a[36];
alpha = num = 0;
for(i=0;i<36;i++) a[i]=0;
while(fgets(buf, SIZE, stdin) != NULL) {
for (i = 0; buf[i] != '\0'; i++){
if (buf[i]=='a' || buf[i]=='A') a[10]++;
if ((buf[i] >= 'a' && buf[i] <= 'z') ||
(buf[i] >= 'A' && buf[i] <= 'Z')) {
alpha++;
}
else if (buf[i] >= '0' && buf[i] <= '9') {
num++;
}
}
}
printf("Alphabet: %6d\n", alpha);
printf("Number : %6d\n", num);
printf("a %d",a[10]);
}
|