C语言的数组互换问题

img

我应该怎么做呢?不太懂,有人会吗?123456789987654321(凑字数)谢谢啦


#include<stdio.h>
int main()
{
    int arr[10];
    int i=0;
    for(i=0;i<10;i++)
    {
        scanf("%d",&arr[i]);
    }
    for(i=0;i<5;i++)
    {
        int tmp=arr[i];
        arr[i]=arr[i+5];
        arr[i+5]=tmp;
    }
    for(i=0;i<10;i++)
    {
        printf("%d ",arr[i]);
    }
    return 0;
}

可以将第一元素与最后一个元素交换,第二个与倒数第二个交换…依次类推,如果数组有n元素,可以用下列语句来交换

for(i=0;i<n/2;i++)
{
      temp=a[i];
     a[i]=a[n-1-i];
     a[n-1-i]=t;
}
大概如下步骤

int n=10;
int h=n/2;
int a[n],t;
for(i=0;i<h;i++)
{
   t=a[i];
   a[i]=a[i+h];
   a[i+h]=t;
}