corda linguagem C em torno da troca de classificação

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);

}

Publicado 239 artigos originais · ganhou elogios 3 · Vistas 3171

Acho que você gosta

Origin blog.csdn.net/it_xiangqiang/article/details/105164028
Recomendado
Clasificación