u012266634的专栏

一个非常简单的题目,你知道错误原因是什么吗?竟然是将10000看成1000,致使数组开成A[1001],总是报运行时错误,残忍,,残忍!下面附上完整代码#include <stdio.h>#include <stdlib.h>int bSearch(int Array[],int SizeOfArray,int key){int low=0,mid,high=SizeOfArray;while(low <= high){mid = (low+high)/2;if(key == Array[mid]){return mid;}if(key < Array[mid]){high = mid -1;}if(key > Array[mid]){low = mid + 1;}}return -1;}int main(){int n,m,A[10001],k;scanf("%d",&n);for(int i=0;i < n;i++){scanf("%d",&A[i]);}scanf("%d",&m);while(m–){scanf("%d",&k);if(bSearch(A,n,k) != -1){printf("Yes\n");}else if(bSearch(A,n,k) == -1){printf("No\n");}}return 0;}

环境不会改变,解决之道在于改变自己。

u012266634的专栏

相关文章:

你感兴趣的文章:

标签云: