アルファベット頻度カウント
id:mzp:20081126:word
たぶん予想はしてると思うけど、早速7行化してみた。
#include <ctype.h> #include <stdio.h> char a[26]={0},*b; main(i,c)char**c;{ while(--i){b=c[i];while(*b)isalpha(*b)?++a[toupper(*b)-'A']:0,b++;} for(i=0;i<26;++i)printf("%c ... %d\n",i+'A',a[i]); }
ctype.hのisXXXX()とtoupper()、 tolower()は存在を忘れがち。
折角あるから使ってあげよう。