求解决一道数列首尾交换问题

数列首尾交换

题目内容:

由键盘输入n个整数放入一维数组中,请按照存放的顺序逆序存储后再输出(即第一个数与最后一个数交换,将第二个数与倒数第二个数交换……,将交换后的数列输出)。

输入格式:

输入包含两行:

第一行是n(1 <= n <= 20)。

第二行是n个整数,邻近两数之间用一个空格隔开。

输出格式:

输出的数列邻近两数之间用一个,(逗号)隔开。

输入样例:

5

10 20 1 5 -9

输出样例:

-9,5,1,20,10,
时间限制:2000ms内存限制:32000kb


#include<stdio.h>
int main()
{
    int a[20];
    int n;
    scanf("%d", &n);
    int i;
    for (i = 0; i < n; i++)
        scanf("%d", &a[i]);
    int mid = n / 2;
    for (i = 0; i < mid; i++)
    {
        int ret = a[i];
        a[i] = a[n - i - 1];
        a[n - i - 1] = ret;
    }
    for (i = 0; i < n; i++)
        printf("%d,", a[i]);
    return 0;
}