热门

最新

红包

立Flag

投票

同城

我的

发布
qq_58312137
qq_58312137
4 年前
trueqq_58312137

求帮我看看我这后面的折半法没用啊
#include<stdio.h>
int main()
{ int a[15],b,c,i,k,n,d,f,p,s,e;
printf("输入15个数:");
for(b=0;b<=14;b++)
scanf("%d",&a[b]);
for(i=0;i<14;i++)
{
k=i;
for(n=i;n<=14;n++)
if(a[k]<a[n])
k=n;
if(i!=n)
{ c=a[k];
a[k]=a[i];
a[i]=c;}
}
printf("从大到小排列:\n");
for(i=0;i<=14;i++)
printf("%4d",a[i]);

printf("\n输入一个数:");
scanf("%d",&e);
d=0;
f=14;
p=0;
do
{s=(d+f)/2;
if(e==a[s]);
{printf("是第%d个元素",s+1);
p=1;
break;}
if(e<a[s])
f=s-1;
else
d=s+1;}
while(d<=f);
if(p==0)
printf("无此数");
return 0;
}

你问我答
CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
eclipse读取文件中中文乱码怎么办?而且已经设置了UTF-8
立即登录