Programación estadística
# incluir & ltstring.h & gt
void char_stat(const char str[], int a[26]){
int I;
char ch = 0;
int n = strlen(str);
for(I = 0; i<n; i++) {
ch = str[I];
if(ch & gt;= ' a ' & amp& ampch & lt='z') {
a[ch-' a ']++;
}
}
}
void char_sort(int a[ 26] , int b[26]) {
int i, j, k;
int max = 0;
int recuento = 0;
int recuento = 0; p>
int c[26]= { 0 };
mientras(cuenta & lt; 26) {
I = 0;
while (c[I])i++; //Encuentra el primer elemento desordenado.
max = a[I];
k = I;
for(j = I+1; j & lt26;j++){
if(a[j]<=0)continue; //Las letras que no aparecen no necesitan ordenarse.
if(c[j])continue; //Este elemento ha sido ordenado.
if(max & lt; a[j]) {
max = a[j]
k = j
}
}
b[cuenta++]= k;
c[k]= 1;
}
void char_output(int a[26], int b[26]) {
int I
for(I = 0; i<26;i++) {
if(a[b[i]])
printf("%c %d\n ",b[i]+'a ' , a [b[I]]);
}
}
void main()
{
char str[1024]= { 0 };
//char str[1024]= { " abcdaadddc # " };//código de prueba
int lower[26] = { 0 }; //Almacena el número de apariciones de cada letra minúscula.
int b[26]= { 0 }; //Subíndice de almacenamiento según el número de apariciones del elemento.
int i, j;
Printf("Ingrese 1 línea de cadena: \ n ");
//Calcular letras minúsculas
char_stat(str, lower);
//Ordenar por el número de letras minúsculas.
char_sort(lower, b);
//Resultados estadísticos de salida
char_output(lower, b);
getchar() ;//Agregar una línea
getchar();//Agregar una línea
}