Originariamente inviato da asteroid
codice:
printf("inserisci gli elementi dell array:");
for(i=0;i<=n;i++)
Il ciclo corretto è
codice:
for (i = 0; i < n; i++) {
  ...
}
poiché gli indici degli array vanno da 0 a dimensione - 1. Usando <= cercheresti di accedere alla prima cella oltre la fine dell'array (con probabile segmentation fault).

Originariamente inviato da asteroid
codice:
gets(&a[i]);
gets si usa per acquisire stringhe di caratteri, tu stai caricando un carattere alla volta! scanf() o getchar() sono più che sufficienti.
Inoltre l'utilizzo di gets() è sconsigliato in quanto non è una funzione sicura.

Originariamente inviato da asteroid
non riesco a stampare il carattere + frequente, ma solo la frequenza di costui... cosa dovrei aggiungere..oltre alla printf??
Dovresti salvare da qualche parte questo carattere, man mano che avanzi con l'algoritmo.