跪求大佬看一眼这道c语言改错题 100

#include<stdio.h>程序D1068.c的功能是给定15个有序整数放入数组array中,从键盘上读入一个整数,采用折半查找法在数组array中查找是否存在该整... #include<stdio.h>

程序D1068.c的功能是给定15个有序整数放入数组array中,从键盘上读入一个整数,采用折半查找法在数组array中查找是否存在该整数。
int main(void)
{
int low, high, mid, key;
int array[15] = {1, 3, 6, 8, 12, 14, 23, 45, 67, 68, 78, 79, 100, 112, 223};

printf("\ninput an integer data: ");
scanf("%d", &key);

low = 0, high = 14;
while (low <= high)
{
/*********Found************/
mid = ______________;
if (array[mid] == key)
{
break;
}
else if (array[mid] > key)
{
high = mid - 1;
}
else
{
/*********Found************/
low = ______________;
}
}

/*********Found************/
if (______________)
{
printf("%d is found!\n", key);
}
else
{
printf("%d is not found!\n", key);
}

return 0;
}
展开
 我来答
仙亦佛
2017-12-25 · TA获得超过366个赞
知道小有建树答主
回答量:707
采纳率:59%
帮助的人:421万
展开全部


#


#include
int main(void)
{
int low, high, mid, key,ok,n;
int array[15] = {1, 3, 6, 8, 12, 14, 23, 45, 67, 68, 78, 79, 100, 112, 223};
printf("*******输出数组******\n");
for(n=0;n<15;n++)
printf("%d ",array[n]);


printf("\ninput an integer data: ");
scanf("%d", &key);

low = 0, high = 14;
while (low <= high)
{
/*********Found************/
mid = low+(high-low)/2;
if (array[mid] == key)
{
ok=1;break;
}
else if (array[mid] > key)
{
high = mid - 1;
}
else
{
/*********Found************/
low = mid+1;
}
ok=-1;
}

/*********Found************/
if (ok==1)
{
printf("%d is found!\n", key);
}
else
{
printf("%d is not found!\n", key);
}

return 0;
}

紫薇参星
科技发烧友

2017-12-25 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3487万
展开全部

按照题目丛带要求填写的C语言程序如下(填空的地方见注释)

#include<stdio.h>
int main(void)
{
 int low, high, mid, key;
 int array[15] = {1, 3, 6, 8, 12, 14, 23, 45, 67, 68, 78, 79, 100, 112, 223};
 printf("\ninput an integer data: ");
 scanf("%d", 蔽散&key);
 low = 0, high = 14;
 while (low <= high)
 {
 /*********Found************/
 mid = (low+high)/2;//这里第一处填(low+high)/2
 if (array[mid] == key)
 {
 break;
 }
 else if (array[mid] > key)
 {
 high = mid - 1;
 }
 else
 {
 /*********Found************/
 low = mid+1;//这里第二处填mid+1
 }
 }
 /*********Found************/
 if (array[mid] == key)//这里第三处填array[mid] == key
 宏郑氏{
 printf("%d is found!\n", key);
 }
 else
 {
 printf("%d is not found!\n", key);
 }
 return 0;
}

运行结果
input an integer data: 75
75 is not found!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式