永发信息网

有15个数按由大到小排列,输入一个数,运用折半查找法找出该数是第几个数。

答案:1  悬赏:40  手机版
解决时间 2021-02-23 15:06
有15个数按由大到小排列,输入一个数,运用折半查找法找出该数是第几个数。
最佳答案
您好!很高兴为您解答。

程序已修改:

#include
#define N 15
void main()
{
int i,number,top,bott,mid,loca,a[N],flag=1,sign;
char c;
printf("由大到小输入15个数 :\n");
for(i=0;i{
scanf("%d",&a[0]);
i++;
while(i!=-1&&i{
scanf("%d",&a[i]);
if(a[i]i++;
else
{printf("输入有误,请重新输入:\n");
i=-1;}
}
}
printf("\n");
for(i=0;iprintf("%4d",a[i]);
printf("\n");
while(flag)
{
printf("寻找:");
scanf("%d",&number);
sign=0;
top=0;
bott=N-1;
if((numbera[N-1]))
loca=-1;
while((!sign)&&(top<=bott))
{
mid=(bott+top)/2;
if(number==a[mid])
{
loca=mid;
printf("找到%d,它是第%d个数\n",number,loca+1);
sign=1;
}
else if(number>a[mid])
bott=mid-1;
else
top=mid+1;
}
if(!sign||loca==-1)
printf("无此数\n");
printf("如继续寻找,请输入数字;否则按n/N");
scanf("%c",&c);
if(c=='N'||c=='n')
flag=0;
}
}

望采纳~如您还有不解,欢迎追问~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
古代侍女是否就是指丫鬟
隆升源牛肉拉面东胜区总店地址在哪,我要去那
未婚男生 为什么喜欢一个已婚女人 说明什么
我现在名下有一套经济适用房,我女儿可以买商
大学里的一个系是不是有很多个学科的?
岳池县司法局顾县司法所我想知道这个在什么地
若要逍遥法外,必先坦诚相待什么意思
付款方式 ms 意思
7.6×5.3+7.6×3.7+7.6的简便算法,谢谢。
天津单身申购限价房,与本人户口所在地的住房
珠江道/艺林路(路口)地址在什么地方,想过去
上火喝什么凉茶
考驾照国买节前后有什么不一样
2015款陆地巡洋舰轮胎气压
【陆小凤之武当之战】今朝去几时还 奈何难尽
推荐资讯
普通赛钢能耐多高温'
现在浓度为10%的盐水20千克。再加入多少千克
汽车店名字大全
寸加一个偏旁的字
人生四大如意是什么
大腿围48厘米的裤子腰围应该是多少
萧邦表地址在什么地方,我要处理点事
扣件式钢管脚手架纵向扫地杆应采用直角扣件固
在vs2008中引入Armadillo(C++)数学库做测试
关于山东与河南初中课程、中考的差异
心跳加速胸闷吃什么药
独坡镇这个地址在什么地方,我要处理点事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?