#include<cstdio>
#include<cstring>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
int main()
{
double num[10]={1,2,3,4,4,5,5,5,6,7},a;
while(cin>>a && a)
{
cout<<upper_bound(num,num+10,a)-num<<endl; //查比a来的大的第一个数的下标
cout<<lower_bound(num,num+10,a)-num<<endl; //查比a大的数或者等于a的第一个数的下标
cout<<endl;
}
return 0;
}
#include<cstring>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
int main()
{
double num[10]={1,2,3,4,4,5,5,5,6,7},a;
while(cin>>a && a)
{
cout<<upper_bound(num,num+10,a)-num<<endl; //查比a来的大的第一个数的下标
cout<<lower_bound(num,num+10,a)-num<<endl; //查比a大的数或者等于a的第一个数的下标
cout<<endl;
}
return 0;
}
本文展示了一个使用C++标准库中的upper_bound和lower_bound算法的示例程序。该程序定义了一个浮点数数组并利用这些算法来查找特定数值的位置。通过比较输入的数值与数组中的元素,程序能够返回大于该数值的第一个元素的下标以及大于等于该数值的第一个元素的下标。
4万+

被折叠的 条评论
为什么被折叠?



