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

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

发布网友 发布时间:2022-05-26 14:57

我来回答

4个回答

热心网友 时间:2023-10-23 01:58

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

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

}

热心网友 时间:2023-10-23 01:58

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

热心网友 时间:2023-10-23 01:59

#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");
}

热心网友 时间:2023-10-23 02:00

确实难 帮写 私信
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 求数列的前10项之和:2/1,3/2,5/3,8/5,用C语言写出程序! C语言:编写一个程序,输入一个包含10个整数的数列,并把数列存储在一个数组中 用C语言编程输出数列1,1,2,3,5,8,13,21的前20 项 今天家里遭灾了,不知道从那里来的许许多多这样的小飞虫?因为不认识搞得无从下手。想请教专家这是什么? 骂人十大句子 关于数列位移的C语言程序设计问题 孕晚期最有效催产食物 家里出现带翅膀的蚂蚁是从哪里出来的家里出现带翅膀的蚂蚁从什么地方来... c语言程序题:输入两个数列,再按从大到小的顺序合并成一个数列并输出 孕晚期就可以什么都吃吗? 带翅膀的蚂蚁怎么来的 骂人句子 设计一个C语言程序,从键盘输入n,在屏幕上按下面数列的排列规律显示前n个数 用C语言编写一个程序,计算数列2&#47;1,3&#47;2,5&#47;3,8&#47;5,13&#47;8…前n项之和 飞蚂蚁是怎么来的 用c语言怎么写这个程序,分数序列2&#47;1,3&#47;2,5&#47;3,8&#47;5…,求出这个数列的前20项之和? 孕晚期没有动静吃什么可以发动 c语言程序设计 计算数列1&#47;2,2&#47;3,3&#47;5,5&#47;8,8&#47;13,……的前20项和。 c语言程序 数列 ;1 1 2 3 5 8 。。这前40个数字,按照每一行5个数字输出 1.8米双人床两边的开关、插座距床边多远?距床头柜多高? 初级会计职称考试时间推迟了,什么时候去领准考证? 写两种动物的作文 重庆二级建造师注册后在什么地方查询 两种小动物在一起发生了许多事的优秀作文 航空公司可以随意改航班时间吗? 比如如果定的晚上9点的机票,航空可以自己改到当天早上9点, 怎么选择实木地暖地板? 重庆市二级建造师是否挂靠怎样查询 包括十二生肖中的两种小动物的拟人作文 大学入学考试考哪些科目 飞机票买了以后可以改当天的时间吗 写小动物的作文三十字到四十字百度知道 屁多屁臭是怎么回事 选择几种小动物写一片300字的作文 书房长书桌的尺寸一般是多少 作文:动物童话700字(要有两种动物) 0.65桌腿薄不薄 地暖选择什么木地板 重庆二级建造师注册条件, 飞机票可以改时间吗 关于动物的作文(最好是两个小动物之间的,要有它们两个的对话。。)急!!! 最迟就今天