代码:
#include <iostream>
using namespace std;
void FindTwoNumbersWithSum(int* Array, int nLength, int* number1, int* number2, int sum)
{
int pHead = 0;
int pEnd = nLength - 1;
while (pHead < pEnd)
{
if (Array[pHead] + Array[pEnd] == sum)
{
*number1 = Array[pHead];
*number2 = Array[pEnd];
return;
}
else if (Array[pHead] + Array[pEnd] > sum)
--pEnd;
else
++pHead;
}
}
int main()
{
int Array[] = { 1, 2, 4, 7, 11, 15 };
int nLength = sizeof(Array) / sizeof(Array[0]);
int number1 = 0;
int number2 = 0;
int sum;
cin >> sum;
FindTwoNumbersWithSum(Array, nLength, &number1, &number2,sum);
cout << "这两个数字是: " << number1 << " " << number2;
cout << endl;
system("pause");
return 0;
}
测试: