Red de conocimiento informático - Problemas con los teléfonos móviles - Programación estadística

Programación estadística

# incluir & ltstdio.h & gt

# 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

}