数组内的数字相加,加出两个相同的数字,而且要最大,没有则输出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;
}
必须要所有数字都进行相加?