| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 419 人关注过本帖
标题:请教大家一个指数格式输出问题?
收藏  订阅  推荐  打印 
joylmj
Rank: 1
等级:新手上路
帖子:16
积分:260
注册:2006-2-25
请教大家一个指数格式输出问题?

我用的系统是Turbo C 2.0
运行下列程序:

#include "stdio.h"
#include "math.h"
main()
{ double k;
k=2.0;
printf("\n%4.1f,%8.1e",k,pow(k,k));
}

运行结果:
2.0, 4e+00

现在有一个问题:
%8.1e 输出的结果为什么是 4e+00 应该小数位有一位,为什么输出时没有小数位。

曾试过把程序输出格式改成 %8.2e ,但是结果为 4.0e+00 按常理小数后面应该有两位,为什么会是这样的情况呢?
请大家帮帮忙,谢谢!


[此贴子已经被作者于2006-2-25 10:29:58编辑过]

搜索更多相关主题的帖子: 指数  格式  输出  
2006-2-25 10:29
cordier
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:410
积分:4236
注册:2006-2-9

我记得好像
小数点占一位

2006-2-25 12:32
cordier
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:410
积分:4236
注册:2006-2-9

又好像不是。

2006-2-25 12:42
天晶子剑
Rank: 2
等级:注册会员
帖子:77
积分:870
注册:2006-2-13

小数点要占一位,你是把它改为%8.3e
2006-2-25 13:59
cordier
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:410
积分:4236
注册:2006-2-9

我试过了。
如果是浮点或双精度的话,是没有算小数点。比如%5.3f就是小数点后面3位
但如果是指数形式输出的话,又好像要算小数点。

所以我迷惑

2006-2-25 16:31
joylmj
Rank: 1
等级:新手上路
帖子:16
积分:260
注册:2006-2-25

如果改成%8.3的话,小数点后面只有两位,这样看来小数点应该算一位的,查了好多资料都没有清晰的说明,所以更加迷惑了。

努力学习C语言中!
2006-2-28 10:07
iyuohz
Rank: 2
等级:注册会员
帖子:107
积分:1170
注册:2006-2-22

这主要是编译器的问题



这是我的截图,复制粘贴后的,没进行任何改动


[此贴子已经被作者于2006-3-1 12:25:52编辑过]

附件: 只有本站会员才能下载或查看附件,请您 登录注册

2006-3-1 12:24
xiaowoniu
Rank: 1
等级:新手上路
帖子:4
积分:140
注册:2006-3-1

我尝试过了,好像是一个固定的格式吧,浮点就不算小数点,指数就是要求算小数点的。记住就可以了。
2006-3-1 22:37
joylmj
Rank: 1
等级:新手上路
帖子:16
积分:260
注册:2006-2-25

谢谢大家,今天在WINDOWS版本的C语言编译器中试了一下,能够正确的输出了。大概在TurboC2.0里面小数点也算一位的。

努力学习C语言中!
2006-3-3 13:14
血刃
Rank: 1
等级:新手上路
帖子:11
积分:210
注册:2006-2-15

我白进来看了,因为问题解决了
不过谢谢你我也有所收获啊!
2006-3-3 17:00
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.088475 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved