た文字の総数の3 つを引数とし、出現数を'*' でプロットする関数hist() を作成せよ。また、その文字の
出現率[%] も併記せよ。出現数が0 の文字はプロットしなくて良い。画面への出力は実行例を参照のこと。
この関数を用いて以下の機能を持つプログラムを作成せよ。
といった課題について、とりあえず出現数をプロットはできたのですが他がさっぱりです、、よれけば教えてもらえると光栄です。
#include <stdio.h>
int main(void)
{
int i = 0, num = 0, table[26]={0};
int j;
char str[218];
gets(str);
while (str[i]){
if (str[i] >= 97 && str[i] <= 122){
table[str[i] - 97]++;
num++;
}
i++;
}
for (i=0; i<26; i++){
printf("'%c':" ,97 + i);
for(j=0; j<table[i];j++)
putchar('*');
printf("\n");
}
return 0;
}
aa bbb ccc (←この行はキーボードからの入力)
~ あと4 回入力を繰り返す ~
'a':*******************: 32.2[%] ('a' の出現数と出現率※すべて関数内で表示させる)
'b':************************: 40.7[%] ('b' の出現数と出現率)
'c':****************: 27.1[%] ('c' の出現数と出現率)