拉栓式步枪抽壳钩视频:哪位高手帮我看一下这个程序有什么错啊。

来源:百度文库 编辑:高考问答 时间:2024/04/28 00:53:55
#include <stdio.h>
#include <stdlib.h>
#define ILMSize 5
#define MaxSize 15
struct IndexItem
{
int index;
int start;
int length;
};
typedef struct IndexItem indexlist[ILMSize];
struct ElemType
{
int key;
char rest[20];
};
typedef struct ElemType mainlist[MaxSize];
int Search(indexlist B,int m,int K);
void InitIndexList(indexlist HI);
void InitMainList(mainlist HM);
void main()
{
int i,m=0;
mainlist lm;
indexlist li;
InitMainList(lm);
InitIndexList(li);
printf("输入主表元素:\n");
for(i=0;i<MaxSize;i++)
scanf("%d ",&lm[i].key);
printf("输入索引表元素:\n");
for(i=0;i<ILMSize;i++)
{
scanf("%d,%d,%d ",&li[i].index,&li[i].start,&li[i].length);
m++;
}
int r=Search(li,m,5);
if(r=-1)
printf("没有找到!\n");
else
printf("要找的索引项对应的start值为:%d",r);
}
int Search(indexlist B,int m,int K)
{
int low=0,high=m-1;
while(low<=high)
{
int mid=(low+high)/2;
if(K==B[mid].index)
return B[mid].start;
else
if(K<B[mid].index)
high=mid-1;
else
low=mid+1;
}
return -1;
}
void InitIndexList(indexlist HI)
{
int i;
for(i=0;i<ILMSize;i++)
{
HI[i].index=NULL;
HI[i].start=NULL;
HI[i].length=NULL;
}
}
void InitMainList(mainlist HM)
{
int i,j;
for(i=0;i<MaxSize;i++)
{
HM[i].key=NULL;
for(j=0;j<20;j++)
HM[i].rest[j]=NULL;
}
}
在稀疏有序索引表中二分查找出给顶值K所对应的的索引项,返回该索引项的start域的值,查找失败则返回-1。

你有什么问题,程序解决什么问题,说清楚

如果别人问你这样的问题,你火不火?