二分查找(数组法).c

来自「C语言入门级小程序,呵呵,对初学都非常有帮助,当年是我一句一句写下来的.呵呵~~」· C语言 代码 · 共 36 行

C
36
字号
#include<stdio.h>
#define N 10
void main()
{
	int n,num,k=1,i,a[10]={1,2,3,4,5,6,7,8,9,10};
	printf("请输入要找的数:");
	scanf("%d",&num);
	n=N/2;//谨记!!!不要再犯低级错误!!!
	i=n;
	while(k)
	{	
		if(n==0)k--;
		if(num==a[i])
			{
				printf("\n找到了!\n");
				goto end;
			}
		else
			{
				if(num>a[i])//谨记!!!不能大意!!!不要自作得意!!!要稳!!!要严肃小心!!!
					{
						n/=2;
						i=i+n+1;
						if(i>N-1)i=N-1;		//printf("%d",i);
					}
				else
					{
						n/=2;
						i=i-n-1;
						if(i<0)i=0;			//printf("%d",i);
					}
			}
	}
	printf("\n没找到!\n");
end:;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?