设计将数组A[1…n]中所有奇数移到偶数之前的算法,要求不另外增加存储空间,各位帮忙啊!我给很多分的

如题所述

第1个回答  2013-06-29
#include <stdio.h>
#define size 10
#define ok 1
typedef int status;
typedef int zu[size];
status ShuRu(zu a,int k)
{int i=0;
for(;i<k;i++)
scanf("%d",&a[i]);
return ok;
}
status PaiXu(zu a,int k)
{int i=0,j=k,p;
while(i<=j)
{if((a[i]%2==0)&&(a[j]%2==0))j--;
if((a[i]%2!=0)&&(a[j]%2==0)){i++;j--;}
if((a[i]%2==0)&&(a[j]%2!=0)){p=*(a+i);*(a+i)=*(a+j);*(a+j)=p;}
if((a[i]%2!=0)&&(a[j]%2!=0))i++;
}
return ok;
}
status print(zu a,int k)
{int i=0;
for(;i<k;i++)
printf("%d",a[i]);
return ok;
}
void main()
{int c;
zu b;
printf("GeShu:\n");
scanf("%d",&c);
printf("ShuZu:\n");
ShuRu(b,c);
PaiXu(b,c);
printf("ShuChu:\n");
print(b,c);
}

我也有这道题 应该是对的