第2题程序改错,麻烦给输入的过程和结果的截图~谢谢,/**********FOUND**********/下面表示有错误

功能:有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数在数组中的位置(下标加1);如果该数不在数组中,则输出“notfind!”。/**********F... 功能:有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数在数组中的位置(下标加1);如果该数不在数组中,则输出“not find!”。
/**********FOUND**********/
#define <stdio.h>
#include <conio.h>
main()
{int mid,low=0,high=14,x,i;
int num[15]={2,6,8,9,12,15,18,20,23,26,29,32,36,38,40};
clrscr();
printf("printf 15 numbers:\n");
for(i=0;i<15;i++)
/**********FOUND**********/
printf("%3d",num+i);
printf("\ninput x:");
scanf("%d",&x);
/**********FOUND**********/
while(low<=14)
{ mid=(low+high)/2;
if(x==*(num+mid))
/**********FOUND**********/
{ printf("%d",mid);
exit(1);
}
if(x>*(num+mid)) low=mid+1;
if(x<*(num+mid)) high=mid-1;
}
printf("not find!\n");
}
展开
 我来答
Xiinho
2010-06-19 · TA获得超过1279个赞
知道小有建树答主
回答量:776
采纳率:0%
帮助的人:752万
展开全部
/**********FOUND**********/
#include<stdio.h>/////////////////////////////
#include <conio.h>
main()
{int mid,low=0,high=14,x,i;
int num[15]={2,6,8,9,12,15,18,20,23,26,29,32,36,38,40};
clrscr();
printf("printf 15 numbers:\n");
for(i=0;i<15;i++)
/**********FOUND**********/
printf("%3d",*(num+i));////////////////////////////////////
printf("\ninput x:");
scanf("%d",&x);
/**********FOUND**********/
while(low<=high)///////////////////////////////////////
{ mid=(low+high)/2;
if(x==*(num+mid))
/**********FOUND**********/
{ printf("%d",mid+1);///////////////////////////////////////
exit(1);
}
if(x>*(num+mid)) low=mid+1;
if(x<*(num+mid)) high=mid-1;
}
printf("not find!\n");
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式