Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
95944 冯诚阳 C语言7.15 C++ Accepted 0 MS 268 KB 683 2024-11-02 15:00:50

Tests(1/1):


Code:

#include<iostream> using namespace std; int main() { int arr[15]; int i; for(i=0;i<15;i++) { scanf("%d",&arr[i]); } int x; scanf("%d",&x); int start,end,flag,middle; start=0;end=14;flag=0; while(start<=end)//两边不断缩小,直到两端重合 { middle=(end+start)/2;//找中间值 if(x>arr[middle]) { start=middle+1;//若x大于中间值,则从中间值的右边开始找 } else if(x<arr[middle]) { end=middle-1;//若x小于中间值,则从中间值的左边开始找 } else { printf("%d",middle); flag=1;//设置找到位置的标志 break; } } if(flag==0) { printf("NO"); } }