标题:问一下程序错在哪儿,题目要求是用函数实现折半查找:int biSearch(int *, ...
只看楼主
Jackjiang90
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-31
结帖率:0
已结贴  问题点数:10 回复次数:1 
问一下程序错在哪儿,题目要求是用函数实现折半查找:int biSearch(int *, int),传入一个整型数组和要查找的整数,若找到返回找到数的位置信息,
#include<stdio.h>
#include<string.h>
int c;
int biSearch(int *, int );
void main(void)
{int i,is;
 float a[12],*p;
 p=a;
 printf("please enter:");
 for(i=0;i<12;i++)
 scanf("%d",&a[i]);
 scanf("%d",&is);
 biSearch(int *p, int is);
}

int biSearch(int *q, int r)

{int top,low,mid,iFlag;
 iFlag=0;
 low=0;
 top=11;
 do{  mid=(top+low)/2;
       if(r==q[mid])
       {iFlag=1;printf("(v!v)\n");}
        else if(r<q[mid])
              top=mid-1;
        else
              low=mid+1;
       }while(low<=top&&iFlag==0);
 if(iFlag==0) printf("(v!v)\n");else printf("(^!^)\n");  
}
搜索更多相关主题的帖子: top include please 
2012-04-10 17:25
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
得分:10 
你的程序错误在于你在调用 biSearch函数写错了,应该为 biSearch(p,is)。仔细看看书的调用函数那一节课,再则就是你定义变量与函数形参的类型混乱.....多考虑一下
2012-04-10 21:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-365520-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.110605 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved