C语言:下列程序将数组a中的数据按逆序存放,通过函数实现,编写invert()函数。(麻烦大神帮忙解答下)

#define M 8
invert(int x[ ], int n)
{
【 】
}
main()
{ int a[M],i,j,t;
printf("\nInput 8 numbers:\n");
for (i=0; i<M; i++) scanf("%d",a+i);
invert(a,M);
printf("Thearray is:\n");
for (i=0; i<M; i++) printf("%3d", *(a+i));
}

invert(int x[], int n)
{
    int *p = x, *q = x + (n - 1);
    int tmp;
    for (; p < q; ++p, --q)
    {
        tmp = *p;
        *p = *q;
        *q = tmp;
    }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-16
void invert(int x[] int n)
{
int *a;
int i;
a=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++)
a[i]=x[n-i-1];
for(i=0;i<n;i++)
x[i]=a[i];
}
相似回答