c++数组类问题,求解

数组内的数字相加,加出两个相同的数字,而且要最大,没有则输出0.并输出。如1,2,,3,6;输出6

#include<iostream>
using namespace std;
//数组内的数字相加,加出两个相同的数字,而且要最大,没有则输出0.并输出。如1,2,,3,6;输出6
void sort(int arr[],int len)
{
    for(int i=0;i<len-1;i++)
        for (int j = 0; j < len-1-i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
}
int main(void)
{
    int arr[5] = { 6,1,2,3,4};
    int len = sizeof(arr) / sizeof(arr[0]);
    sort(arr,len);//升序排序
    int flag = 0;
    int p = arr[0];
    int v = arr[len - 1];
    for (int i = 1; i < len; i++)
    {
        p += arr[i];
        if (p == v)
        {
            flag = 1;
            cout << p << endl;
            return 0;
        }
    }
    for (int i = 0; i < len-1; i++)
    {
        for (int j =i+1; j < len; j++)
        {
            int v = arr[i];
            v += arr[j];
            if (v == arr[len-1])
            {
                flag = 1;
                cout << v << endl;
                return 0;
            }
        }
    }
    if(flag==0)
        cout << "不存在!" << endl;
    return 0;
}

必须要所有数字都进行相加?


可以看下cpp参考手册中的 c++-数组