解题思路:
注意事项:
参考代码:
#include<iostream>
#include<algorithm>
using namespace std;
int a[100001];
int main()
{
int n,m;
int i;
//输入
cin>>n;
for(i=0;i<n;i++){
cin>>a[i];
}
cin>>m;
//排序
sort(a,a+n);
//二分
int mid,high,low;
high=n-1;
low=0;
while(low<=high){
//如果等于m,输出并停止程序
if(a[low]+a[high]==m){
cout<<a[low]<<" "<<a[high];
return 0;
}
//如果相加小于m,那么最低下标++
else if(a[low]+a[high]<m){
low++;
}
//如果相加大于m,那么最高下标--
else{
high--;
}
}
cout<<"No";
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:692 |
C语言程序设计教程(第三版)课后习题5.7 (C++代码)浏览:855 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:759 |
大神老白 (C语言代码)浏览:645 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:667 |
1113题解浏览:789 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:543 |
1035 题解浏览:785 |
1050题解(结构体数组与结构体指针的使用)浏览:1108 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:545 |