首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

急一段短的代码 C语言 二分法查找binsearch(T,k),为什么编译通过,却无法运行。该怎么处理

2012-05-28 
急!一段短的代码 C语言 二分法查找binsearch(T,k),为什么编译通过,却无法运行。#includestdio.hint i,js

急!一段短的代码 C语言 二分法查找binsearch(T,k),为什么编译通过,却无法运行。
#include<stdio.h>

int i,j;
struct seqlist
{
int key;
}T[10];

void arrangement()
{
int w,u,t;
for(w=1;w<=9;w++)
T[w].key=R[w].key;
for(w=1;w<=9;w++)
for(u=1;u<=9-w;u++)
if(T[u].key>T[u+1].key)
{
t=T[u].key;
  T[u].key=T[u+1].key;
T[u+1].key=t;
}
  //for(w=1;w<=9;w++)
  //printf("%d",T[w]);  
}

int binsearch(seqlist T[],int k)
{
int low=1,high=9,mid;
while(low<=high)
{
mid=(low+high)/2;
if(T[mid].key==k)
return mid;
if(T[mid].key>k)
high=mid-1;
else
low=mid+1;
}
return 0;
}

main()
{
  int ,k,t;
  printf("请任意输入9个数:\n");
  for(int j=1;j!='\n';j++)
  scanf("%d",&R[j].key);

  arrangement();
  printf("请输入你要查找的数:");
  scanf("%d",k);
  t=binsearch(T,k);
  if(t==0)
  printf("你所查找的数不存在。\n");
  else
  printf("你所查找的数的位置是:%d\n",t);
}

[解决办法]
数组的基是0的
冒泡排序还是要再练一下
加断点,单步调试
[解决办法]
能通过编译?
我感觉小问题比较多

首先是这个没定义:struct seqlist R[10]
再者这个int ,k,t;(可能是你粘贴的时候有问题了)?
输入要查找的数的时候scanf("%d",k);忘了带取地址符号。


热点排行