第十四题(NOIP2013)
#include<iostream>
using namespace std;
int main(){
const int SIZE=100;
int n,f,i,j,t,left,right,middle,a[SIZE];
cin>>n>>f;
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
if(a[i]>=a[j]){
t=a[j];
a[j]=a[i];
a[i]=t;
}
left=1;
right=n;
do{
middle=(left+right)/2;
if(f<=a[middle])
right=middle;
else
left=middle+1;
} while(left<right);
cout<<left<<endl;
return 0;
}
- 【判断题】将第4行的程序移动到02、03行的中间,程序能够正常运行。
{{ select(1) }}
- 【判断题】将第11行的"="删除,运行结果会改变。
{{ select(2) }}
- 【判断题】将第7行的"i=1; i<=n;"改为"i=0; i<n;"运行结果不会改变。
{{ select(3) }}
- 【判断题】若第8行输入n个相同的数字,程序最后输出的left值为1。
{{ select(4) }}
- 【选择题】当n=5,f=7,a={8,4,7,5,6}时,输出结果为( )。
{{ select(5) }}
- 【选择题】输入仍是第(5)题的条件,将第11行的">="改为"<=",输出结果为( )。
{{ select(6) }}