C语言
解法
#include <stdio.h>
int main()
{
int inputArray[2500] = { 0 };
int i = 0;
int j = 0;
int l = 0;
while(scanf("%d", &inputArray[i]) != EOF) {
i++;
}
int outputArray[1500] = { 0 };
outputArray[0] = inputArray[1];
for (i = 2; i < 2500; i+=2) {
if (inputArray[i] == 0) {
break;
}
for (j = 0; j < inputArray[0]; j++) {
if (inputArray[i + 1] == 0) {
//删除outputArray里值为inputArray[i + 1]的成员;
if (inputArray[i] == outputArray[j]) {
l++;
for (int m = j; m < inputArray[0] - 1; m++) {
outputArray[m] = outputArray[m + 1];
}
j--;
}
} else {
if (inputArray[i + 1] == outputArray[j]) {
for (int k = inputArray[0] - 1; k > j; k--) {
outputArray[k + 1] = outputArray[k];
}
outputArray[j + 1] = inputArray[i];
}
}
}
}
for (i = 0; i < inputArray[0] - l; i++) {
printf("%d ", outputArray[i]);
}
return 0;}



京公网安备 11010502036488号