演習 5-8

#include <stdio.h>
#define NUMBER 80

int main(){

int i, j;
int num;
int tensu[NUMBER];
int bunpu[11] = { 0 };

printf("人数を入力して下さい:");

do{
scanf("%d", &num);
if (num < 1 || num > NUMBER){
printf("\a1~100で入力して下さい:");
}
} while (num < 1 || num > NUMBER);

printf("%d人の点数を入力して下さい。\n", num);

for (i = 0; i < num; i++){
printf("%2d番:", i + 1);
do{
scanf("%d", &tensu[i]);
if (tensu[i] < 0 || tensu[i] > 100){
printf("\a1~100で入力して下さい:");
}
}while (tensu[i] < 0 || tensu[i] > 100);
bunpu[tensu[i] / 10]++;
}

puts("\n---分布グラフ---");


for (i = 0; i <= 9; i++){
printf("%3d ~%3d:", i * 10, i * 10 + 9);
for (j = 0; j < bunpu[i]; j++){
putchar('*');
}
putchar('\n');
}
printf("      100:");

for (j = 0; j < bunpu[10]; j++){
putchar('*');
}
putchar('\n');

return 0;
}

2 件のコメント:

  1. 『 printf("\a1~100で入力して下さい:", NUMBER);』

    引数としてNUMBERを与えていますが、『"\a1~100で入力して下さい:"』には変換指定が含まれていません。

    返信削除
    返信
    1. 変更いたしました. ご指摘ありがとうございます.

      削除