在一个有序数组中查找2个数和为SUM的个数

输入一个递增排序的数组和一个数字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;
}