cadena en C. alrededor de cambio de clasificación

función ReadDat () leer el archivo in.dat líneas de datos almacenados obtenidos 20 a la xx matriz de cadena (longitud de las cadenas de menos de 80).

Por favor preparar función jsSort (), cuya función es la función: en unidades de cadenas por la clasificación de las condiciones dadas, en base a los resultados de la línea después de la reordenación en una matriz de cadenas en xx, después de la llamada de función WriteDat () para xx como resultado una salida a un archivo out.dat.

Condiciones: A partir de mediados de la cuerda en dos, la parte izquierda del carácter de acuerdo con el valor ASCII de la clasificación ascendente, la parte izquierda de la parte derecha de la bolsa de ordenadas.

Si la longitud de la cadena original es impar, los caracteres no participan en el proceso intermedio, el personaje está todavía en su posición original.

Por ejemplo: la posición 012345678

string Fuente dcbahgfe 4 3 2 1 9 8 7 6 5

Después de la cadena de proceso hgfeabcd 8 7 6 5 9 1 2 3 4

existe una parte del archivo de origen en prog1.c.

No alteran la principal función main (), leer el contenido de la función ReadDat () y funciones de escritura WriteDat () de.

#include <stdio.h>

#include <string.h>

#include <conio.h>

Char xx [20] [80];

jsSort vacío ()

{Int i, j, k, STRL, medio;

temp Char;

for (i = 0; i <20; i ++)

{STRL = strlen (xx [i]);

media = STRL / 2;

para (j = 0; j <media-1; j ++)

para (k = j + 1; k <media; k ++)

si (xx [i] [j]> xx [i] [k])

{Temp = xx [i] [j]; xx [i] [j] = xx [i] [k]; xx [i] [k] = temp;}

para (j = media-1, k = STRL-1; j> = 0; j-, k-)

{Temp = xx [i] [j]; xx [i] [j] = xx [i] [k]; xx [i] [k] = temp;}

}

}

vacío principal()

{

readDat ();

jsSort ();

writeDat ();

}

readDat ()

{

Presentar en;

int i = 0;

char * p;

en = fopen ( “in.dat”, “r”);

mientras que (i <20 && fgets (xx [i], 80, IN)! = NULL) {

p = strchr (xx [i], '\ n');

if§ * p = 0;

i ++;

}

fclose (in);

}

writeDat ()

{

ARCHIVO * a cabo;

int i;

clrscr ();

fuera = fopen ( “out.dat”, “w”);

for (i = 0; i <20; i ++) {

printf ( "% s \ n", xx [i]);

fprintf (fuera, "% s \ n", xx [i]);

} Fclose (out);

}

Publicados 239 artículos originales · ganado elogios 3 · Vistas 3171

Supongo que te gusta

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