杭电acm2034C语言写法,程序输入输出均正确,却是wrong answer,哪里需要改进?多谢

2024年11月20日 08:33
有1个网友回答
网友(1):

#include 
void sort(int *t, int s);

int main(void) {
int A[100], B[100], i, n, m, R[100], j, temp;
int f(int k, int *p, int m);
while (scanf("%d %d", &n, &m) && (n != 0 || m != 0)) {
for (i = 0; i < n; i++) {
scanf("%d", &A[i]);
}
for (i = 0; i < m; i++) {
scanf("%d", &B[i]);
}
i = 0;
j = 0;
for (i = 0; i < n; i++) {
if (f(A[i], B, m) == 0) {
R[j] = A[i];
j++;
}
}
if (j == 0) {
printf("NULL");
}
else {
sort(R, j);
for (i = 0; i < j; i++) {
printf("%d ", R[i]);
}
}
printf("\n");
}
}

int f(int k, int *p, int m) {
int i;
for (i = 0; i < m; i++) {
if (k == *p)
return 1;
p++;
}
return 0;
}

void sort(int *t, int s) {
int i, a, temp;
for (i = 0; i < s; i++) {
for (a = 1; a < s - i; a++) {
if (*(t + a - 1) > *(t + a)) {
temp = *(t + a - 1);
*(t + a - 1) = *(t + a);
*(t + a) = temp;
}
}
}
}