搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 大哥大姐们帮帮小弟看看是哪里错了哟。。。
标题:
大哥大姐们帮帮小弟看看是哪里错了哟。。。
只看楼主
菜鸟一只呀
等 级:
新手上路
帖 子: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
星闪夜空
等 级:
论坛游侠
帖 子:50
专家分:119
注 册:2012-9-15
第
2
楼
得分: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
来 自:内蒙古
等 级:
贵宾
威 望:
17
帖 子:453
专家分:2351
注 册:2012-4-12
第
3
楼
得分: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
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-385116-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.171924 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved