Salve a tutti

Devo contare le occorrenze delle lettere in una frase. Ho pensato a questa soluzione :

codice:
int main(){
    char miastringa[100] = "baccanobaccanobaccano" ;
    int i,a,b,c;

i=0;
a=0;
b=0;
c=0;

for (i=0;i<22;i++){
                      if (miastringa[i]== 'a') a++;
                      if (miastringa[i] == 'b') b++;
                      if (miastringa[i] == 'c') c++;
                       
                      //cosi per tutte le lettere dell'alfabeto
    
                      }

printf("%d \n", a);    
printf("%d \n", b);  
printf("%d \n", c);

}

Mi pare ua soluzione un po rozza, e volevo saperese ne avete in mente di mogliori.