| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 832 人关注过本帖
标题:检查不出错误,却无法运行,求大神指导哪里错了
只看楼主 加入收藏
yuxiaoyanyry
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2014-9-13
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:13 
检查不出错误,却无法运行,求大神指导哪里错了
#include<stdio.h>
#define MAX_N 1000000
void solved(int a[ ],int n)
    {
    int ub=n,lb=-1;
    while(ub-lb>1)
    {
        int mid=(lb+ub)/2;
        if(a[mid]>=k)
            ub=mid;
        else
            lb=mid;
    }
    printf("%d\n",ub);
    }
int main()
{
    int n,k,i,m;
    int a[MAX_N];
    scanf("%d%d",&n,&k);
    for(i=0;i<n;i++)
      scanf("%d",&a[i]);
    m=solved(a,n)
    printf("%d\n",m);
    return 0;
}
搜索更多相关主题的帖子: include solved 
2014-09-13 14:55
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:4 
编译器不会告诉你吗?

总有那身价贱的人给作业贴回复完整的代码
2014-09-13 15:18
yuxiaoyanyry
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2014-9-13
收藏
得分:0 
回复 2 楼 embed_xuel
没有告诉啊,我用的是clodeblocks,还不太熟悉。。。
2014-09-13 15:32
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:4 
简单说说:
主函数里面的k,不会自动的传递到他要调用的函数里。是局部变量 那个k变量有问题
2014-09-13 16:22
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:0 
另外就是 倒数4行 少;
2014-09-13 16:23
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:0 
m=solved(a,n)
可是这个函数没有返回值 怎么去给m赋值呢
你的思路很好,努力学习
2014-09-13 16:25
yuxiaoyanyry
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2014-9-13
收藏
得分:0 
回复 4 楼 erty1001
哦哦,好的,我再试试,就是一些语法什么的还不太清楚
2014-09-13 19:41
原味C
Rank: 2
等 级:论坛游民
帖 子:16
专家分:27
注 册:2014-9-8
收藏
得分:4 
solved函数变量k都没定义
2014-09-14 21:02
uestclicheng
Rank: 2
等 级:论坛游民
帖 子:5
专家分:15
注 册:2014-9-16
收藏
得分:4 
因为不知道你要做啥,所以没法给你修改这个程序

#include<stdio.h>
#define MAX_N 1000000
void solved(int a[ ],int n) ------------------函数是void型的但是下边你却让它等于int型的,所以函数形式存在问题
    {
    int ub=n,lb=-1;
    while(ub-lb>1)
    {
        int mid=(lb+ub)/2;
        if(a[mid]>=k) ---------------报错k没定义
            ub=mid;
        else
            lb=mid;
    }
    printf("%d\n",ub);
 -------------------------------------缺少一个返回值,要不然你的m最后什么都不是
    }
int main()
{
    int n,k,i,m;
    int a[MAX_N];
    scanf("%d%d",&n,&k);
    for(i=0;i<n;i++)
      scanf("%d",&a[i]);
    m=solved(a,n)
    printf("%d\n",m);
    return 0;
}
2014-09-16 23:59
fogmaple
Rank: 4
来 自:江西省赣州市于都县
等 级:业余侠客
威 望:1
帖 子:119
专家分:233
注 册:2014-7-28
收藏
得分:4 
看下编译上显示是什么
2014-09-17 00:32
快速回复:检查不出错误,却无法运行,求大神指导哪里错了
数据加载中...
 
   



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

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