
大学C语言作业,有个地方出错,有没有高手给找出来错误地方修改一下,分不算多,但是万分感谢! 20
我们作业的内容是:以顺序存储结构和链式存储结构两种方式编一道关于分块查找的题。没有具体的题,题的内容自己想。用C语言编程,用VC6.0运行。#definemax20typ...
我们作业的内容是:以顺序存储结构和链式存储结构两种方式编一道关于分块查找的题。没有具体的题,题的内容自己想。用C语言编程,用VC6.0运行。
#define max 20
typedef struct data //顺序存储结构
{
int data[max];
int length;
}data;
//typedef struct data
//{
// int data;
// struct data *next;这是链式结构,大同小异,你自己想想
//}data;
void initial(data *s)
{
s->length=0;
}
void initial_data(data *s)
{
int i=1;
for(;i<=max;i++)
{
s->data[i]=i*2;
s->length++;
}
}
int Binary_search(data s,int N)//二分查找
{
int low,high;
int mid;
low = 0;
high=s.length;
while(low<=high){
mid=(low+high)/2;
if(N==s.data[mid])
{
return mid;
}
else if(N<s.data[mid])
{
high = mid -1;
}
else
{
low = mid + 1;
}
}
return 0;
} 展开
#define max 20
typedef struct data //顺序存储结构
{
int data[max];
int length;
}data;
//typedef struct data
//{
// int data;
// struct data *next;这是链式结构,大同小异,你自己想想
//}data;
void initial(data *s)
{
s->length=0;
}
void initial_data(data *s)
{
int i=1;
for(;i<=max;i++)
{
s->data[i]=i*2;
s->length++;
}
}
int Binary_search(data s,int N)//二分查找
{
int low,high;
int mid;
low = 0;
high=s.length;
while(low<=high){
mid=(low+high)/2;
if(N==s.data[mid])
{
return mid;
}
else if(N<s.data[mid])
{
high = mid -1;
}
else
{
low = mid + 1;
}
}
return 0;
} 展开
展开全部
建议:调程序是很重要的学习过程,像这样简单的程序你可以用笔算。。。一步一步用笔写出程序结果,看哪一步出了问题。
学习经验,仅供参考
有问题可以和我交流,KOU:37B5o8145(百度难上Q号啊)
学习经验,仅供参考
有问题可以和我交流,KOU:37B5o8145(百度难上Q号啊)
展开全部
#define max 20
typedef struct data //顺序存储结构
{
int Data[max];
int length;
}data;
//typedef struct data
//{
// int data;
// struct data *next;这是链式结构,大同小异,你自己想想
//}data;
void initial(data *s)
{
s->length=0;
}
void initial_data(data *s)
{
int i=1;
for(;i<=max;i++)
{
s->Data[i]=i*2;
s->length++;
}
}
int Binary_search(data s,int N)//二分查找
{
int low,high;
int mid;
low = 0;
high=s.length;
while(low<=high){
mid=(low+high)/2;
if(N==s.Data[mid])
{
return mid;
}
else if(N<s.Data[mid])
{
high = mid -1;
}
else
{
low = mid + 1;
}
}
return 0;
}
你把main函数加上试试
typedef struct data //顺序存储结构
{
int Data[max];
int length;
}data;
//typedef struct data
//{
// int data;
// struct data *next;这是链式结构,大同小异,你自己想想
//}data;
void initial(data *s)
{
s->length=0;
}
void initial_data(data *s)
{
int i=1;
for(;i<=max;i++)
{
s->Data[i]=i*2;
s->length++;
}
}
int Binary_search(data s,int N)//二分查找
{
int low,high;
int mid;
low = 0;
high=s.length;
while(low<=high){
mid=(low+high)/2;
if(N==s.Data[mid])
{
return mid;
}
else if(N<s.Data[mid])
{
high = mid -1;
}
else
{
low = mid + 1;
}
}
return 0;
}
你把main函数加上试试
追问
加到什么地方啊, 大哥, 今晚就要交了, 没时间了啊。 急死我了, 谢了啊
追答
就加我给你的代码下面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我们现在在学.NET,刚好学道循环结构这里、我看了下、有的地方不是很懂、就是有一点、
for(初始值;表达式1;表达式2) for(;i<=max;i++)
你好像少写了初始值、呵呵
我也不太懂、今天刚刚学、你再看看、
for(初始值;表达式1;表达式2) for(;i<=max;i++)
你好像少写了初始值、呵呵
我也不太懂、今天刚刚学、你再看看、
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询