El lenguaje C simula la clasificación en orden de diccionario
int? split_str(char*?str)//obtener? ¿eso? ¿Contar? ¿de? Línea
{
int? ¿Contar? =?1;
int? ¿bandera? =?0;
mientras (* str!='\0')
{
si (* str?==?'?'? amp amp? bandera? ==?1)
{
cuenta;
bandera? =?0;
}?
¿Y si? if (*str?!='?'? amp amp?*str?!=?'\0')
{
¿Marca? =1;
}
str;
}
¿Volver? (¿Contar?==?1?0?:?Contar);
}
//?Regresar? -1?¿Cuándo? cadena1? ¿Sí? ¿nulo? ¿aún? cadena1? ¿Sí? ¿Tirar basura? ¿Comparar? str2
//?¿Regresar? 1?¿Cuándo? str2? ¿Sí? ¿nulo? ¿aún? str2? ¿Sí? ¿Tirar basura? ¿Comparar? str2
//?¿Regresar? 0?¿Cuándo? cadena1? ¿Sí? ¿igualdad? ¿Como qué? cadena2
int? compare_str(char*?str1,?char*?str2)
{
if (str 1?==?0)?return? -1;
if (str 2?==?0)?¿Regresión? 1;
¿Cuándo? (?*str1? amp amp?*str2)
{
si (*str 1? gt?*str2)
{
¿Volver? 1;
}
¿Y si? ¿si? (*str1? lt? *str2)
{
¿Regresión? -1;
}
cadena 1;
cadena 2
}
si (* cadena 1? gt? *str2)
{
¿Volver? 1;
}
¿Y si? ¿si? (*str1? lt? *str2)
{
¿Regresión? -1;
}
¿Volver? 0;
}
¿Nulo? Señor()
{
Ciel.
cadena【200】= { 0 };
obtiene(cadena);
int? ¿norte? =?split_str(str);
if (n? lt? 1)
{
printf("¿Entrada? ¡Error!\n") ;
¿Regresar? -1;
}
//printf("n = d\n",n);
char*? a【n】; //¿Guardar? ¿puntero? Dirección
int? i;
for(I = 0;i ltn;i) //init? ¿eso? ¿puntero? Organizar
a[I] = 0;
int? ¿índice? =?0;
int? ¿bandera? =?0;
for(I = 0;ilt200?||?!str[I];i)
{
if (str[ I 】? !=?'?'? amp? ==?0)
un[índice]? =?ampstr[I];
¿Bandera? =?1;
}
¿Y si? if (str[I]?==?'?')
{
¿Bandera? =?0;
str[I]='\ 0';
Continuar;
}
}
int? j;
for(I = 0;i ltn;i)
for (j = I 1;j ltn;j)
si (1? ==?compare_str(a[I],?))
{
char*? tmp
tmp? =?a【Yo】;
¿A【Yo】? =?a【j】;
a【j】? =?tmp
}
for(I = 0;iltn;i)
printf("s\n",a[I]); /p>
}