不是VIP会员,不能显示答案

题目解答

题目:
#include <iostream>
#include <cmath>
using namespace std;
int a[100],n;
void Find(int s)
{
int i=1,j=n;
int diff=1000;
int x=-1,y=-1;
while (i<n && j>i)
{
if (abs(a[i]+a[j]-s)<diff)
{
//abs(x)表示求x的绝对值
x=i;
y=j;
diff= abs(a[i]+a[j]-s);
}
else if (a[i]+a[j]<s)
i++;
else
j--;
}
cout<< x <<" "<< y << endl;
}
int main()
{
cin>>n;
for (int i=1; i<=n; i++)
cin>>a[i];
Find(10);
return 0;
}

输入:
8
-3 -1 1 3 6 12 13 15
输出:1 7
考点:
分析:
解答:
评论:
老师: