Red de conocimiento informático - Aprendizaje de código fuente - El segmento de datos tiene una matriz MEM de longitud 10, dado que los datos en el código fuente (se requiere que tengan al menos 3 ceros y como máximo 7 ceros no consecutivos) serán

El segmento de datos tiene una matriz MEM de longitud 10, dado que los datos en el código fuente (se requiere que tengan al menos 3 ceros y como máximo 7 ceros no consecutivos) serán

/*

* Nombre: changenum.c

* Fecha: 2012-5-26

* Autor: aoxuefeiying@163.com

* Descripción:

* El segmento de datos tiene una matriz MEM de longitud 10. Si los datos se proporcionan en el código fuente

* (al menos 3 0, como máximo 7 0, no todos consecutivos),

* elimine los 0 al final de la matriz y use lo siguiente Rellene con 0 y luego complete el último espacio con 1

* Por ejemplo: la matriz original es -1. g.: El array original es -1,5,0,7,0,6,0,8,0,6

* El final del programa es: -1,5,0,7 , 6 ,6,0,8,0,6

* Después de ejecutar el programa, es -1, 5, 7, 6, 8, 6, 1, 1, 1, 1

* /

#include

#include

int do_change(int *pt)

{

int i, j, k;

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

si ( pt[i] == 0) {

for (j = i + 1; j < 10; j++) {

si (pt[j] != 0) {

romper;

}

}

si (j == 10) {

para (k = i; k < j; k++) {

pt[k] = 1;

}

Devuelve 0; {

pt[i] = pt[j];

pt[j] = 0;

}

}

}

Devuelve 0

}

int main(void)

{

int i;

p>

int * pt = malloc(tamañode(int) * 10);

pt[0] = 1;

pt[1] = 0;

pt[3] = 3;

pt[4] = 0

pt[5] = -3;

pt[6 ] = 4;

pt[7] = 0;

pt[8] = 9;

pt[9] = 2;

printf("Número de entrada:\n");

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

printf("%d ", pt[ i]);

}

printf("\n");

do_change(pt);

printf("Núm de salida:\n");

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

printf("%d ", pt[i]);

}

printf("\n");

devuelve 0;

}