#include
#include
int main()
{
int n,a,l[30],r[30];
scanf("%d",&n);
for (int i=0;i
{
l[i]=0;
r[i]=0;
}
for (int i=0;i
{
scanf("%d",&a);
if (a%2==1)
{
l[i]=a;
}
else
{
r[n-i]=a;
}
}
for (int i=0;i
{
if (l[i]!=0)
{
printf("%d ",l[i]);
}
}
for (int i=0;i
{
if (r[i]!=0)
{
printf("%d ",r[i]);
}
}
return 0;
}
我运行这段代码后报错了,请问如何修改?
#include <stdio.h>
#define N 100000
int left[N];
int right[N];
int main() {
int leftSize = 0, rightSize = 0, n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
int x;
scanf("%d", &x);
if (x % 2 != 0)
left[leftSize++] = x;
else
right[rightSize++] = x;
}
for (int i = 0; i < leftSize; i++)
printf("%d ", left[i]);
for (int i = rightSize - 1; i >= 0; i--)
printf("%d ", right[i]);
return 0;
}
人数据n是100000
你这数组那么小 怎么存的下