Questo codice fa quello che chiedi, sostanzialmente anche se non conosci il C dovrebbe capirsi facilmente e dovresti anche riuscire a modificarlo per i tuoi scopi
#include <stdio.h>
#include <stdlib.h>
#define N 5
typedef enum {false,true} boolean;
// questo serve a creare il tipo boolean che in C non esiste nativamente
//semplicemente enum assegna a false 0 e a true 1
int main()
{
int array[N];
int tmp[N];
int n_tmp;
int i,j,k;
boolean flag;
int cont;
for(i=0;i<N;i++)
{
printf("Inserisci l'elemento %d: ",i+1); // gli elementi per noi partono da 1
scanf("%d",&array[i]); // inserisco da tastiera l'i-esimo elemento
}
n_tmp=false ;
for(i=0;i<N;i++)
{
flag=false;
for (j=0;(j<n_tmp)&&(flag==false);j++)
if (tmp[j]==array[i])
flag=true;
if(flag==false)
{
tmp[n_tmp]=array[i] ;
n_tmp++;
cont=0;
for (k=0;k<N;k++)
if (array[k]==array[i])
cont++;
printf("Elemento %d: %d compare %d volta/e\n",i+1,array[i],cont);
}
}
return 0;
}