| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 783 人关注过本帖
标题:二分查找 实在不知哪错了 请求指教
只看楼主 加入收藏
jhosua
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2005-12-31
收藏
 问题点数:0 回复次数:9 
二分查找 实在不知哪错了 请求指教

#include<stdio.h>
#define N 15
void main()
{
int found,loca,flag=1,sign=0;
char c;
int a[N],mid,top,low,i;
printf("input:\n");
for(i=0;i<=N-1;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);
printf("\n");}
while(flag==1)
{printf("input your number:");
scanf("%d",&found);
if(found<a[0]||found>a[N-1])
loca=-1;
low=0,top=N-1;
whlie(!sign&&(low<top))
{
mid=(top+low)/2;
if(found==a[mid])
{printf("position is %d",mid+1);
sign=1;}
if(found>a[mid])
low=mid+1;
if(found<a[mid])
top=mid-1;
};
if((!sign)||loca==-1)
printf("can not find");
printf("(y/n):");
scanf("%c",&c);
if(c=='n'||c=='Y')
flag=0;}}
提示说缺了;号 找了N久 还是不知道 求高手指教
图片附件: 游客没有浏览图片的权限,请 登录注册

[此贴子已经被作者于2006-7-13 19:40:08编辑过]



LdcaTXHC.jpg (13.5 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: int sign 指教 请求 loca 
2006-07-13 19:37
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

#include<stdio.h>
#define N 15
void main()
{
int found,loca,flag=1,sign=0;
char c;
int a[N],mid,top,low,i;
printf(\"input:\n\");
for(i=0;i<=N-1;i++)
{printf(\"a[%d]=\",i);
scanf(\"%d\",&a[i]);
printf(\"\n\");}
while(flag==1)
{printf(\"input your number:\");
scanf(\"%d\",&found);
if(found<a[0]||found>a[N-1])
loca=-1;
low=0,top=N-1;
while(!sign&&(low<top))
{
mid=(top+low)/2;
if(found==a[mid])
{printf(\"position is %d\",mid+1);
sign=1;}
if(found>a[mid])
low=mid+1;
if(found<a[mid])
top=mid-1;
};
if((!sign)||loca==-1)
printf(\"can not find\");
printf(\"(y/n):\");
scanf(\"%c\",&c);
if(c=='n'||c=='Y')
flag=0;}}

[此贴子已经被作者于2006-7-13 19:55:35编辑过]


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-07-13 19:53
jyycom
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2006-5-18
收藏
得分:0 

最好写的时候,先打出两个括号,然后再在中间写代码,对应的括号上下对齐。


重新学习C语言!
2006-07-13 20:51
jhosua
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2005-12-31
收藏
得分:0 
没少括号啊

2006-07-14 17:00
jhosua
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2005-12-31
收藏
得分:0 
还有那个;号 我看过了 没有哪少了啊

2006-07-14 17:04
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-14 17:36
jhosua
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2005-12-31
收藏
得分:0 
还是没用  反正一直都说少了1个;号 怎么办啊 我昨天想了1晚上

2006-07-14 17:54
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

晕 怎么还在发帖子啊 没看到我二楼发的嘛 while 拼写错了 ...汗~~ 这么多人在这...///


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-07-14 18:53
海子
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-13
收藏
得分:0 

#include<stdio.h>
#define N 15
void main()
{
int found,loca,flag=1,sign=0;
char c;
int a[N],mid,top,low,i;
printf("input:\n");
for(i=0;i<=N-1;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);
printf("\n");}
while(flag==1)
{printf("input your number:");
scanf("%d",&found);
if(found<a[0]||found>a[N-1])
loca=-1;
low=0,top=N-1;
whlie(!sign&&(low<top))
{
mid=(top+low)/2;
if(found==a[mid])
{printf("position is %d",mid+1);
sign=1;}
if(found>a[mid])
low=mid+1;
if(found<a[mid])
top=mid-1;
};\\出错了,看见了吗!!
if((!sign)||loca==-1)
printf("can not find");
printf("(y/n):");
scanf("%c",&c);
getchar();
if(c=='n'||c=='Y')
flag=0;}
}
写程序格式要写的规范一点,这样易于见错和调试

2006-07-14 20:31
jhosua
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2005-12-31
收藏
得分:0 
.....................5555555555 感激啊 我英语其实挺好的  怎么会这样啊  谢谢大虾们

2006-07-15 19:14
快速回复:二分查找 实在不知哪错了 请求指教
数据加载中...
 
   



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

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