输入一个递增排序的数组和一个数字sum,在数组中查找两个数,使得它们的和正好是s。
如果有多对数字的和等于sum,输出有多少对数满足。
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "iostream" using namespace std; //查找函数; int FindSum(int *arr,int length,int sum) { int *end=arr+length-1,*start=arr,number=0; while (start!=end) { if(*start+*end<sum) ++start; else if(*start+*end>sum) --end; else { ++number; --end;//这里写++start也可以 } } return number; } int main(int argc, char* argv[]) { int a[]={1,2,3,4,5};//测试数组 cout<<"数组中和为7的有"<<FindSum(a,5,7)<<"对"<<endl; getchar(); return 0; }