função ReadDat () lidos a partir do ficheiro in.dat alcançados linhas de dados armazenados 20 para a matriz de cadeia xx (comprimento de cordas para menos do que 80).
Por favor preparar função jsSort (), cuja função é a função de: em unidades de cordas por triagem as condições dadas, com base nos resultados da linha após o reordenamento em uma matriz de cadeias em xx, após a chamada função WriteDat () para xx resultar na saída para um arquivo out.dat.
Condições: A partir de meados da corda em dois, a parte esquerda do caractere de acordo com o valor ASCII da classificação crescente, a parte esquerda da parte direita da troca de ordenados.
Se o comprimento da cadeia original é estranho, os personagens não participam no processo intermediário, o personagem ainda está em sua posição original.
Por exemplo: a posição 012345678
cadeia de origem dcbahgfe 4 3 2 1 9 8 7 6 5
Após a cadeia de processo hgfeabcd 8 7 6 5 9 1 2 3 4
Parte do arquivo de origem existe na prog1.c.
Não altere a principal função principal (), ler o conteúdo da função ReadDat () e as funções de gravação WriteDat () de.
#include <stdio.h>
#include <string.h>
#include <conio.h>
xx carvão animal [20] [80];
vazio jsSort ()
{Int i, j, k, strl, metade;
Temp carvão animal;
for (i = 0; i <20; i ++)
{Strl = strlen (xx [i]);
metade = strl / 2;
para (j = 0; j <meia-1; j ++)
para (k = j + 1; k <metade; k ++)
if (xx [i] [j]> XX [i] [k])
{Temp = xx [i] [j]; xx [i] [j] = xx [i] [k]; xx [i] [k] = temperatura;}
para (j = meia-1, k = strl-1; j> = 0; j-, k-)
{Temp = xx [i] [j]; xx [i] [j] = xx [i] [k]; xx [i] [k] = temperatura;}
}
}
void main ()
{
readDat ();
jsSort ();
writeDat ();
}
readDat ()
{
Arquivo em;
int i = 0;
char * p;
em = fopen ( “in.dat”, “R”);
while (i <20 && fgets (xx [i], 80, em)! = null) {
p = strchr (xx [i], '\ n');
if§ * p = 0;
i ++;
}
fclose (em);
}
writeDat ()
{
FILE * para fora;
int i;
clrscr ();
a = fopen ( “out.dat”, “W”);
for (i = 0; i <20; i ++) {
printf ( "% s \ n", XX [i]);
fprintf (a, "% s \ n", XX [i]);
} Fclose (a);
}