Clasificación de diccionario Asc
# include ltstdio.h gt
# include ltstring.h gt
# include ltctype.h gt
Estructura? Palabra
{
Carácter. str【30】;//Palabra
int? número? //El número de veces que aparece la palabra
}El número de palabras [500];
int? Suma;
¿Nulo? ¿Li Chu? ¿Carbonizarse? s【】)
{
int? Yo, j;
int? bandera = 0;?
for(I = 0; i lt= sumi)
{?
if (strcmpi(palabras[I]. str, s) = 0) ?
{?
Palabra [I]. num;
bandera = 1;
}?
}
si (bandera==0)
{?
strcpy(palabras[suma].str,s);
Palabras[suma]. número;?
suma ;
}?
}
¿Nulo? paixu1()
{
int? I, j;
¿Estructura? ¿palabra? a;
para (I = 0; suma de i lt; i )
{?
para (j = I 1; suma de j lt; j )
if(strcmp(palabras[I]. str, palabras[j]. str)? gt? 0)?
{?
a = palabra [j];
Palabra [j] = palabra [I];
Palabra [I] = a;?
}
}
}
¿Nulo? Paixu 2()
{
int? I, j;
¿Estructura? ¿palabra? a;
for (I = 0; ? i lt suma; ? i)
{
for (j = suma-1; ? j gt i ;? - j)
{
Si (palabra [j]. num gt palabra [j-1]. num)
{?
? a = palabra [j];
? palabra【j】= palabras【j-1】;
? palabras[j-1]= a;?
}
}
}?
}
int? Señor()
{
Ciel. s【30】;
int? imax, istart, iend, I, j, bandera = 0;
Char. cadena[]? ="¿Eso? ¿Presidente? ¿Informar? ¿Eso? ¿Auditoría? ¿Autoridad? ¿Ir? ¿Mantener? ¿Sus? Pensamientos? Y luego. ¿Acción? ¿En? Línea? ¿Con? ¿Qué? ¿Eso? PCC? ¿Comité Central? ¿Resoluto? ¿Garantía? ¿Eso qué? ¿Qué pasa con la centralización? delims【】? =?"?";
Ciel. *¿espada? =?NULL
suma = 0;
for(I = 0;i lt500;i)
Palabra [I].
num = 0;
¿Espada? =?strtok(str,?delims);
Y (?sword?!=?NULL?)?{
? sscanf(espada, "[a-zA-Z]", s);
strl wr(s);
李䶶;
?
¿Espada? =?strtok(?NULL,?Dilitz.);
}
Printf("Este artículo * * * tiene: d palabras\n", suma);
p>
paixu 1();
printf("\nEn orden ascendente del diccionario de palabras:
for(I = 0; i) lt suma ; i )
printf (" s, d\n", palabra [I]. Cadena, palabra [I].
pai Xu 2 ();
printf("\nEn orden de aparición descendente:\n");
for(I = 0;iltsum;i)
printf( "s , d\n", palabra [I]. Cadena, palabra [I]. num);
¿Regresar? 0;
}Captura de pantalla en ejecución real: