作业帮 > 综合 > 作业

1.有15个数存放在一个数组中,输入一个数要求用折半查找法找出该数是数组中的第几个元素的值,如果该数不在数组中,则输出无

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/04/20 09:36:52
1.有15个数存放在一个数组中,输入一个数要求用折半查找法找出该数是数组中的第几个元素的值,如果该数不在数组中,则输出无此数,要找的数用scanf函数输入.
程序提示:
用循环语句输入15个数
调用排序算法对其进行排序
输出排序后的15个数
1.有15个数存放在一个数组中,输入一个数要求用折半查找法找出该数是数组中的第几个元素的值,如果该数不在数组中,则输出无
等会就给你发答案 5分钟内
再问: 嗯 要的 非常感谢 !嗯 是说排序前原数组中的位置哈 谢谢
再答: #include<stdio.h>
main()
{
int i,j,n,a[15],t,l=0,h=14,m,f=1;
printf("input 15 numbers\n");
for(i=0;i<15;i++)
scanf("%d",&a[i]);
for(i=0;i<14;i++)
{
for(j=0;j<14-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("the number after sorting\n");
for(i=0;i<15;i++)
printf("%d ",a[i]); 
printf("input your number");
scanf("%d",&n);
while(l<=h&&f)
{
m=(l+h)/2;
if(a[m]==n)
f=0;
else if(a[m]<n)
l=m+1;
else
h=m-1;
}
if(!f)
printf("the [%d] is%d",m,a[m]);
else
printf("can't find");
}是原位置啊 那等等 先发刚刚做的。。
再问: 嗯 但是 先要排序 先通过排序 从排序位置中找到这个数在指向原数组的位置 谢谢
再答: #include<stdio.h>
main()
{
int i,j,n,a[15],b[15],t,l=0,h=14,m,f=1;
printf("input 15 numbers\n");
for(i=0;i<15;i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
}
for(i=0;i<14;i++)
{
for(j=0;j<14-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
printf("the number after sorting\n");
for(i=0;i<15;i++)
printf("%d ",a[i]); 
printf("\ninput your number");
scanf("%d",&n);
while(l<=h&&f)
{
m=(l+h)/2;
if(a[m]==n)
f=0;
else if(a[m]<n)
l=m+1;
else
h=m-1;
}
for(i=0;i<15;i++)
{
if(b[i]==a[m])
break;
}
if(!f)
printf("the [%d] is%d",i,a[m]);
else
printf("can't find");
}您好,很高兴为您解答,流星不死为您答疑解惑如果本题还有不懂的地方请追问,望采纳我的回答。祝楼主学习进步。上面的代码可以直接复制到编译器里,带换行。
1.有15个数存放在一个数组中,输入一个数要求用折半查找法找出该数是数组中的第几个元素的值,如果该数不在数组中,则输出无 有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值.如果该数不在 有15个数按小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值. 有15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素 有15个互不相等的数按照由小到大的顺序放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中的第几个元素.如果该数 有n个整数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值 15个数按从小到大的顺序放在一个数组中,输入一个数,用折半查找法找出该数是数组中第几个元素的值 有十五个数按由大到小顺序存在一个数组之中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的 下面这个程序怎么写啊 :有15个数由大到小排列存放在一个数组中,输入一个数,要求用折半查找法找出该 用选择法对15个整数排序(整数用scanf输入).然后,输入一个数,用折半查找法找出该数是数组的第几个元素 数组中查数描述:输入10个互异的整数,并将它们存入数组中,再从键盘输入一个数,然后在该数组中查找该数,如果找到,输出对应 整型一维数组中存放互不相同的10个数,从键盘输入一个整数,输出与该数相同的数组元素的下标