c++翻转数组并相加,求帮助

给定五个数字的数组(如1 2 3 4 5)
将其翻转(5 4 3 2 1)随后和原来的数组相加,得到新数组,并且如果相加大于十则只取个位数字

完全不会😭😭 翻转的话,只把1、5,2、4位置对调?但这样也太傻了😭

用两个指针分别指向数组头和数组尾,然后进行交换,随后指针向中间移动,逐个交换即可

数组是顺序存储在内存中的,如果你要翻转后放在原位就只能两两交换,如果反转后的数组存在新的空间中,则可以使用malloc申请相同大小的空间,然后反向遍历原数组,将元素依次放在新的空间中来达到数组翻转的目的

参考如下:

#include <iostream>
using namespace std;

int main()
{
    int a[5]={1,2,3,4,5};
    int i,j,sum = 0;
    int b[5];
    //翻转数组
    for(i = 0;i<5;i++)
        b[4-i] = a[i];

    //如果不借助b实现a的翻转

    /*for(i=0;i<5/2;i++)
    {
        int t = a[i];
        a[4-i] = a[i];
        a[i] = t;
    }*/


    //相加
    for(i=0;i<5;i++)
        sum += a[i]+b[i];
    //判断和
    cout << sum%10 ;//只取个位
    return 0;
}