把 奇数移到一起 偶数在一起
输入多个case
例如输入
8 1 2 3 4 5 6 7 8
5 1 2 3 4 5
输出
1 3 5 7 2 4 6 8
输入多个case
例如输入
8 1 2 3 4 5 6 7 8
5 1 2 3 4 5
输出
1 3 5 7 2 4 6 8
1 3 5 2 4
#include <cstdio>
#include <cstdlib>
#define N 102
int a[N] ;
int main()
{
freopen("in.txt" , "r" , stdin) ;
int n ;
int tmp ;
while(scanf("%d" , &n) != EOF)
{
int i ;
for(int i = 1 ;i <= n ; i ++)
{
scanf("%d" , &a[i]) ;
}
int v = 1 ; // 块大小
i = n ; // i 为尾部第一个奇数
if(n % 2 == 0)
i = n - 1 ;
while(i > 1 )
{
int tmp = a[i-1] ; // 紧挨着的偶数
for(int j = 0 ; j < v ; j ++)
{
a[i - 1 + j] = a[i + j] ;
}
a[i - 1 + v] = tmp ;
i = i - 2 ;
v ++ ;
}
for(i = 1 ; i < n ; i ++)
{
printf("%d " , a[i]) ;
}
printf("%d\n" , a[n]) ;
}
return 0 ;
}