#include <stdio.h>
#include <stdlib.h>
int main()
{
struct data {
int low;
int high;
int num;
} data[] = {
{0, 150, 0},
{150, 160, 0},
{160, 170, 0},
{170, 180, 0},
{180, 190, 0},
{190, 1000, 0},
{-1, -1, 0}
};
int n, i, j, *x;
printf("n = ");
scanf("%d", &n);
if ((x = (int *)malloc(sizeof(int) * n)) == NULL){
fprintf(stderr, "cannot allocate enough memory.\n");
exit(-1);
}
for (i = 0; i < n; i++) {
printf("data %2d: ", i + 1);
scanf("%d", &x[i]);
}
for (i = 0; i < n; i++) {
for (j = 0; data[j].low >= 0; j++) {
if (x[i] >= data[j].low && x[i] < data[j].high)
data[j].num++;
}
}
for (i = 0; data[i].low >= 0; i++) {
if (data[i].low == 0)
printf(" ");
else
printf("%3dcm <= ", data[i].low);
printf(" x ");
if (data[i].high == 1000)
printf(" ");
else
printf(" < %3dcm ", data[i].high);
printf(": ");
for (j = 0; j < data[i].num; j++)
putchar('*');
while (j++ < 20)
putchar(' ');
printf("%2d 名\n", data[i].num);
}
return 0;
}
/* end */