数组内的数字相加,加出两个相同的数字,而且要最大,没有则输出0.并输出。如1,2,,3,6;输出6
3条回答 默认 最新
关注#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; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 2无用