有15个数按大由小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该组中第几个元素的值.

来源:百度知道 编辑:UC知道 时间:2024/09/25 15:21:31
帮帮我啊!谢谢了
有15个数按大由小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该组中第几个元素的值.如果该组中,输出"无此数"

题目不是太明白,楼主是想定义了15个数 ,然后输入一个任意数除2,找到任意数除2在定义的15个数中的位置是吗?》 那要是输入的任意数除2后的数不在定义的数中怎么办? 是显示输入错误还是其他的什么?
#include<iostream.h>
int main()
{
double a[15],n,k;
int m;
for(m=0;m<15;m++)
{cout<<"输入"<<15-m<<"个由大到小数"<<endl;
cin>>a[m];}
cout<<"输入要查找的数"<<endl;
cin>>n;
k=n/2;
bool falg=false;
for(m=0;m<15;m++)
{
if(k==a[m])
{cout<<"该数再数组中的位置是:"<<m+1<<endl;
falg=true;}

if(!falg)
cout<<"查无此数"<<endl;}
system("PAUSE");
return 0;
} 这次应该没错了

(数已经按从大到小排列)
1、若剩余数大于1,折半 找到中间值 与目标值比较
2、若中间值比目标值大,则取前半部分,转1;
3、若中间值比目标值大,则取前半部分,转一;,则取后半部分,转1;
4、若中间值等于目标值,输出;
5、剩余数不大于1,输出“无此数”;

不懂再回答你。

从小到大排列
int find(int soure[], int low,

有15个数按小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值. 有3 个数,要求按大小顺序输出3 个数 编写一个程序,输入3个数,然后按由大到小的顺序在窗体上显示这三个数. 边长为6的正方体由边长边长为1的小正方体组成,大正方体涂色,那么被涂色的小正方体个数有多少个? 编程C语言,输入3个数,按由大到小顺序输出 有15个数那从大到小顺序排列存放在1个数组中,输入一个数找出该数是这个数组的第几个元素的值 有15个数存放在一个数组中,输入一个数,要求用半查找法找出该数是数组中第几个元素的值。 用VB设计:从键盘输入任意5个整数,按由小到大的顺序打印这5个数? 汇编语言如何编"在D1开始的单元格存放3个无符号数,将3个数比较后由大到小排序到D2开始的单元格 歌曲怎样按先后下载顺序存放?