| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 322 人关注过本帖
标题:大哥大姐们帮帮小弟看看是哪里错了哟。。。
只看楼主 加入收藏
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:2 
大哥大姐们帮帮小弟看看是哪里错了哟。。。

大哥大姐们帮帮小弟看看是哪里错了哟。。。顺便问下log以2为底5的对数怎么写呀
#include <stdio.h>
void sign (double x)
{
   printf("%lf\n",x > 0 ? 1 : x == 0 ? 0 : -1);
}
int main()
{
    sign (2.1);
    return 0;
}
搜索更多相关主题的帖子: 大哥大 return include double 
2012-10-30 13:03
星闪夜空
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:50
专家分:119
注 册:2012-9-15
收藏
得分:3 
回复 楼主 菜鸟一只呀
   对于第一个问题,你应该将那条打印语句改写为 printf("%d\n",x > 0 ? 1 : x == 0 ? 0 : -2);因为你最终的打印结果只可能是1,0,-2这几个数中的一个,所以不应该用%lf,而是%d作为printf的格式码。   
   对于第二个问题,虽然C语言中没有以2为底的log函数,但是却有以10为底的log函数,你可以先将以2为底的log转化为以10为底的log,接下来就容易了吧。
2012-10-30 16:17
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:3 
#include <stdio.h>
void sign (double x)
{
   printf("%d\n",((x > 0 ? 1 : x )== 0 )? 0 : -1);//注意优先级
}
int main()
{
    sign (2.1);
    return 0;
}
math.h中有以10为底的
log以2为底5的对数 换底公式

马马虎虎 不吝赐教 我是路过蹭分滴
2012-10-30 17:31
快速回复:大哥大姐们帮帮小弟看看是哪里错了哟。。。
数据加载中...
 
   



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

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