#include<stdio.h>
#include<string.h>
const int N = 1e3 + 10;
int i;
int main(){
int a[N];
int b[N];
int n;
int cnt = 1;
char c;
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
// printf("%d", a[5]);
while(scanf("%d", &n) != EOF) {
a[cnt ++ ] = n;
c = getchar();
}
cnt--;
int ii = 1;
int jj = cnt;
for(i = 1;i<=cnt;i++)
{
if(a[i]%2!=0)
{
b[ii++] = a[i];
}
}
for(i = cnt;i>=1;i--)
{
if(a[i]%2==0)
{
b[jj--] = a[i];
}
}
for(i = 1;i<=cnt;i++)
{
if(i != cnt){
printf("%d,", b[i]);
} else{
printf("%d", b[i]);
}
}
return 0;
}
【问题描述】已知具有n个数组元素的一维数组A,请写一个算法,将该数组中所有值为0的元素都依次移到数组的前端,其他元素依次输出。
【输入形式】第一个数为输入数字的个数,其后为数组的数字
【输出形式】输出相应的数组
【样例输入】5 1 2 3 4 0
【样例输出】0 1 2 3 4
【样例说明】
【评分标准】