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 p>
* /
#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;
}
} p>
}
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;
}