Los programas en lenguaje C están ordenados por la primera letra del Pinyin chino. Se necesitan dos funciones en el programa.
* @autor:banxi1988
*@date:2010-12-9
*/
# incluir & ltstdio.h & gt
# include & ltstdlib.h & gt
# include & ltstring.h & gt
#Define M 5 /**Si quieres ingrese más Más, usted mismo puede cambiar el número de estudiantes. */
void input(char *nombre[], int n);
void sort(char *nombre[], int
int); main(int argc, char **agrv){
char * nombre[M] /* *Guardar el nombre del estudiante. */
int I = 0;
Entrada (nombre, M
Ordenar (nombre, M
Imprimir); ("El nombre se muestra en pinyin de la siguiente manera:\ n ");
for(I = 0;i<m;i++)
{
printf( " %s\t ", nombre[I]);
}//for:
printf(" \ n ");
Devuelve 0;
}//
void input(char *name[], int n){
char string[20] /* *Longitud de Pinyin. 20-1, cámbielo usted mismo*/
int I;
Printf("Ingrese los nombres de %d estudiantes (use pinyin):\n ", M);
/* *Este también es el punto clave, por favor comprenda. * */
for(I = 0;i<n;i++)
{
scanf("%s ", str);
nombre[I]=(char *)malloc(sizeof(char)*(strlen(str));
strcpy(nombre[i], str);
} //for:
}//Entrada
void sort(char *name[], int n){
/* *Método de burbuja Implementar clasificación * * * * * * * * * * * *
char * tmp
int i,j;
for(I = 0; i & ltn; i++)
{
for(j = 1;j & ltn-I;j++)
{
/ * * * Los dos nombres se intercambian y el nombre más grande se coloca delante de la matriz */
if(strcmp(name[j], name[j-1])<0)
{
tmp = nombre[j-1];
nombre[j-1]= nombre[j];
nombre[j ] = tmp;
}
}//Interno para
}//Externo para
}//Ordenar p>
/* * * *Resultados de la prueba:
Ingrese los nombres de los cinco estudiantes (use Pinyin):
abc cano java perl banxi
Los nombres están ordenados en pinyin y el resultado es el siguiente:
abc banxi cano java perl
***/