当前位置: > 有15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素...
题目
有15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素
看看我的错在哪了.
#include
int main()
{
int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int begin,end,midlle,x;
printf("%d",a[15]);
printf("请输入一个数:");
scanf("%d",x);
for(begin=0,end=14;;)
{
midlle=(begin+end)/2;
if(x==a[midlle])break;
if(x>a[midlle])begin=midlle+1;
if(xbegin)break;
}
if(x==a[midlle])printf("这个数是数组中第%d个元素的值",midlle+1);
if(end>begin)printf("这个数组中没有这个数");
}

提问时间:2021-04-01

答案
#include
int main()
{
int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int begin,end,midlle,x;
printf("%d",a[14]); //a【15】该位置改为a【14】最大为14
printf("请输入一个数:");
scanf("%d",&x); //scanf第二个参数为地址,需要加上取地址符
for(begin=0,end=14;;)
{
midlle=(begin+end)/2;
if(x==a[midlle])break;
if(x>a[midlle])begin=midlle+1;
if(x
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.