C语言程序编写:在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出no found;

实习要的。难啊!... 实习要的。难啊! 展开
 我来答
mkr67n
2020-02-09 · TA获得超过229个赞
知道小有建树答主
回答量:192
采纳率:77%
帮助的人:36.7万
展开全部

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

题目:试编写一个程序完成:有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;

}

匿名用户
2013-04-01
展开全部
采用二分法查找啊,不知道你说的有序是升序,还是降序~~~针对不同方式,代码有些许差距
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-06-26
展开全部
#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");
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-01
展开全部
#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");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2018-06-18 · TA获得超过2029个赞
知道小有建树答主
回答量:9715
采纳率:0%
帮助的人:1098万
展开全部
确实难 帮写 私信
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式