问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...若该数在此数列中,则输出它所在的位置,否则输出no found;

发布网友 发布时间:2024-10-23 22:57

我来回答

5个回答

热心网友 时间:2024-11-06 09:31

之前写过一个程序类似的,你可以用作参考:

题目:试编写一个程序完成:有15个数按从下到大的顺序存放在一个数组中.输入一个数,要求折半查找法找出该数是数组中第几个元素的值.如果该数不在数组中,输出“不在表。

=====下面是C代码,其中数组没有设计为录入,而是固定数组=====

//输出的序列是从0开始算的,也就是输出的是所在数组的索引 

//注意数组中没有8 

#include<stdio.h>

int main()

{

int a[]={1,2,3,4,5,6,7,9,10,11,12,13,14,15,16};

int n,first=0,end=14,mid;

scanf("%d",&n);

while(first<=end)//不要写成first<end,这样有可能会在最后一次二分(即first=end时)被忽略 

{

mid=(first+end)/2;

if(a[mid]==n)

{

printf("your input number's index is %d(count from 0)",mid);

break;//忘记break会死循环 

}

else if(n>a[mid])

{

first=mid+1;

}

else

{

end=mid-1;

}

}

if(first>end)

{

printf("your number is not in the array");

}

return 0;

}

热心网友 时间:2024-11-06 09:31

#include<stdio.h>
#define N 10
void main()
{
int a[N];
int num,i;
char ch='n';
printf("请输入一个数组:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("输出数组:\n");
for(i=0;i<N;i++)
printf("%d",a[i]);
printf("\n");
printf("请输入一个数\n");
scanf("%d",&num);
printf("开始查找\n");
for(i=0;i<N;i++)
if(num==a[i])
{
ch='y';
printf("%d 在数组的第 %d 位\n",num,i+1);
}
if(ch=='n')
printf("no found\n");
}

热心网友 时间:2024-11-06 09:31

#include<stdio.h>
#define N 10
void main()
{
int a[N];
int num,i;
char ch='n';
printf("请输入一个数组:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("输出数组:\n");
for(i=0;i<N;i++)
printf("%d",a[i]);
printf("\n");
printf("请输入一个数\n");
scanf("%d",&num);
printf("开始查找\n");
for(i=0;i<N;i++)
if(num==a[i])
{
ch='y';
printf("%d 在数组的第 %d 位\n",num,i+1);
}
if(ch=='n')
printf("no found\n");
}

热心网友 时间:2024-11-06 09:32

采用二分法查找啊,不知道你说的有序是升序,还是降序~~~针对不同方式,代码有些许差距

热心网友 时间:2024-11-06 09:38

确实难 帮写 私信
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
早孕验血报告单怎么看 测试早孕的方法 联想电脑退货注意什么 公务员裸眼视力必须0.3吗 山东农业大学机电学院科研成果 山东农业大学机械与电子工程学院实验研究 山东农业大学机电工程学院有哪些重点实验室和研究中心? 复发性无菌性脑膜炎的诊断 电子简历自我评价 电子信息技术专业个人简历自我评价 楚留香手游9月7日更新公告 天机阁指点江山功能开放-手游资讯-安族网 甲磺酸帕珠沙星注射液注意事项 有一组数1,1,2,3,5,8,…55,保存列表中b中 这组数有这样一个特点:吧... 蔬菜分为哪些科目 土虎之命五行缺什么 南京农业大学每年1200的宿舍怎么样? 我可能会上南京农业大学。各位学哥学姐,南农宿舍条件怎么样啊?有木有... njupt是哪个大学 ...后取出,溶液质量增加的是()为什么?A氯化镁溶液B盐酸C硫酸压铁... ...一段时间后取出,溶液质量减少的是( )A.MgCl2 溶液B.稀盐酸C.硫酸亚... ...后溶液质量增加,且没有气体放出的是( )A.稀硫酸B.稀盐酸C.氯... ...把锌片取出,溶液质量增加的是( ) A.氯化镁溶液 B.盐酸 将下列没写全的金属活动性顺序表中的金属填全,并回答问题:(1)K Ca N... ...银的活动性顺序,这种试剂是( ) A.氯化镁溶液 B.稀硫 一块酷派5876的电池要多少钱? 买一个酷派5310的电池需要多少钱?! 酷派手机v60电池多少钱一块 ...身体素质的主要方式。下列属于有氧运动的是( )。 杀手电视剧简介 杀手电视剧介绍 ...2分) A 力量练习 B 游泳 C 举重 D 骑自行车 武汉广兴船务公司有定向委培高级海员吗?这个公司怎么样 请教异地跨行转帐的问题 异地跨行转帐怎么操作?我有张A地的农行卡,现在在B地,准备把农行卡里的... 请问异地跨行转账怎么操作 昂达N68S的怎么划分集成显卡的显存?拜托了各位 谢谢 请问昂达N68S主板的集成显卡是多少M的啊? 究竟学硕好还是专硕好,我想考中南财经政法大学的研究生,彷徨啊 我的系统是XP,怎么在系统里查看主板n68s里集显的显存? amd4400配什么主板比较好(要集成显卡) ...焊锡不好溶但能溶开,就是粘不到焊件上.求助好焊锡师傅 ...热了子后才蘸一下焊锡膏啊,被焊面也得蘸么,焊锡膏到底起到什么做_百... 先将电烙焊加热然后在焊件上涂焊锡膏 再在电烙焊上沾焊锡膏 就可以焊接... 现在什么游戏好玩 单机、 网络都行 好玩的单机小游戏推荐,要离线可以玩的,不要游戏合子,就是游戏名字和下载... 浦发银行信用卡申请官网入口 牙齿矫正方法 ...有那些学校比较容易考,我是电气专业的。各位大虾,求帮助,急急急... 怎么更换哔哩哔哩主题颜色? 法兰琳卡透亮保湿去角质啫喱的使用体验如何? 法兰琳卡透亮保湿洁面乳适合哪些肤质的人使用? 有一列数:1,1,2,3,5,8,13,21,34,55,⋯,从第三个数开始,每个数都是前...