学校でやっている問題なのですが、考えれば考えるほど分からなくなって
ここに助けを求めにきますた…_| ̄|○

問題は、「30人のテストの得点データを読み込む。得点は0点以上10点以下。
 各点数の人数を求め、その人数を点数ごとに*の数で表しなさい。
 また、最も人数の多い得点と、最も人数の少ない得点を示しなさい。」というものです。
一応やりかけのCを張ります。

#include<stdio.h>

int main(void)
{
int i,j;
int tensu[30];
int tmp[11] = {0};

for(i = 0;i < 30; i++){
printf("%d人目:",i + 1);
scanf("%d", &tensu[i]);
}

for(i = 10; i > 0; i--){
printf("%d", i);
for(j = 0; j < tmp[i]; j++){
putchar('*');
putchar('\n');
}
}
return(0);
}
なんとなく流れは分かるんですが、それを形にできないのです…_| ̄|○
超初心者で申し訳ないんですが、教えていただけるとありがたいです(´・ω・`)