1997-d-三
#include <stdio.h>
//数组p中有n个数
void move (int p[],int n)
{
int i=0;
int j=n-1;
int t=p[0];
while(i<j)
{
while(i<j&&p[j]%2==0) j--;//从后往前找到奇数位置
if(i<j)
{
p[i]=p[j];//将找到的奇数移到前面
i++;//开始位置后移
}
while(i<j&&p[i]%2==1) i++;//从前往后找到偶数位置
if(i<j)
{
p[j]=p[i];
j--;//结束位置前移
}
}
p[i]=t;
}
int main()
{
int p[] = {2,6,1,5,14,3,18,9,10,11};
for(int i=0;i<10;i++) printf("%d\n",p[i]);
printf("-----------\n");
move(p,10);
for(int i=0;i<10;i++) printf("%d\n",p[i]);
}