| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 410 人关注过本帖
标题:请师兄们进来帮我看一条题
只看楼主 加入收藏
c盘格式化
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-3
收藏
 问题点数:0 回复次数:4 
请师兄们进来帮我看一条题
大家好,小弟是新来的,有一题请教,清高手策教!
题目;有15个数组按由小到大顺序存放到一个数组中,输入一个数,要求用折半查找法出该数是组中第几个元素的值.如果该数不在数组中,打印出"不在表中"
大家帮我看一下我的答案哪里错了,为什么调试不了.
#include<stdio.h>
#define N 15
main()
{
int i=0,min,bott,topp,bacon,flag;
int a[N],c;
scanf("%d",&a[0]);
i=1;
while(i<N)
{ scanf("%d,&a[i]);
if(a[i]>=a[i-1])
i++;
else
printf("输入错误,必须比前一个数大,请重新输入\n");
}
flag=1;
while(flag)
{ printf("输入你要查找的号码");
scanf("%d",&c);
bott=N-1;
bacon=0;
topp=0;
if(c<a[0]&&c>a[N-1])
bacon=-1;
else
while((topp<=bott)&&(bacon==0))
{
min=(bott++topp)/2;
if(c==a[min])
{bacon=1;
printf("%d在表中的第%d位\n",c,min+1);
}
else
if(c<a[min])
bott=min-1;
else
topp=min+1;
}
if(bacon==0||bacon==-1)
printf("输入的数字%d不在表中\n",c);
printf("是否继续输入Y/N?\n");
c=getchar();
if(c=='n'||c=='N')
flag=0;
else
flag=1;

}

}
搜索更多相关主题的帖子: 师兄 
2007-04-03 19:18
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
注意这一行:
if(c<a[0]&&c>a[N-1])
应该是if(c<a[0]||c>a[N-1])

再看这一行:
min=(bott++topp)/2;
应该是min=(bott+topp)/2;吧

你的变量名我看这不大舒服,耐着性子看了一遍,找到这两处,但没有兴趣到编译器中去检查了

要学会看编译器的出错提示,像第二个这样的语法错误,看错误提示就可以解决
2007-04-03 21:45
lishan
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-1-9
收藏
得分:0 
两个错误,第一个是第10行的 scanf("%d,&a[i]); 应该改为scanf("%d,",&a[i]); 这里少了一边双引号。
第二个是第24行的 if(c<a[0]&&c>a[N-1]) 应该改为if(c<a[0]||c>a[N-1])
其他基本上就没什么问题了。
2007-04-03 21:48
lishan
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-1-9
收藏
得分:0 
以下是引用百年不亮在2007-4-3 21:45:54的发言:
注意这一行:
if(c<a[0]&&c>a[N-1])
应该是if(c<a[0]||c>a[N-1])

再看这一行:
min=(bott++topp)/2;
应该是min=(bott+topp)/2;吧

你的变量名我看这不大舒服,耐着性子看了一遍,找到这两处,但没有兴趣到编译器中去检查了

要学会看编译器的出错提示,像第二个这样的语法错误,看错误提示就可以解决

还有楼上说的第二个。

2007-04-03 21:50
c盘格式化
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-3
收藏
得分:0 
谢谢拉,我刚入门,太粗心了
2007-04-03 22:34
快速回复:请师兄们进来帮我看一条题
数据加载中...
 
   



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

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