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]); 
	
}