C语言里要对输出的结果用科学计数法表示保留三位有效数字应该怎么写啊?

 我来答
对床话雨
推荐于2017-07-24 · TA获得超过1636个赞
知道小有建树答主
回答量:171
采纳率:100%
帮助的人:153万
展开全部
sorry.由于没有在计算机旁,没有及时看到你的求助,你问:C语言里要对输出的结果用科学计数法表示保留三位有效数字应该怎么写?
我觉得应该是
printf("%.3e",变量名);
而不是
printf("%3e",变量名);
==================
MSDN 中有关printf打印格式串:
%[flags] [width] [.precision] [{h | l | I64 | L}]type
的描述,其中对[.precision]是这么说的:
The third optional field of the format specification is the precision specification.
(大义:格式规约中第三个选项段是关于小数的规则。)
==================
对于打印e, E类型的数据时,[.precision]选项的作用是:
The precision specifies the number of digits to be printed after the decimal point. The last printed digit is rounded.
(大义:该精度指定了打印小数点后的位数,之后的位数会被四舍五入)
Default precision is 6; if precision is 0 or the period (.) appears without a number following it, no decimal point is printed.
(大义:缺省情况下,该精度为6,如果精度值为0或者小数点后没有紧跟着数字,则不会打印小数部分)
==================
例:
#include <stdio.h>
int main()
{
float b = 100000.55555f;
printf("%3e\n",b);
printf("%.3e\n",b);
return 0;
}
输出结果为:
1.000006e+005
1.000e+005
来自:求助得到的回答
百度网友946420d
2017-07-23 · TA获得超过151个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:32.3万
展开全部
polly@nowthen:~/test$ cat liu.c
#include <stdio.h>

int main()
{
    float result = 31415.92653;

    printf("result = %0.3e\n", result); <------ %0.3e即可

    return 0;
}
polly@nowthen:~/test$ gcc -Wall liu.c -o liu
polly@nowthen:~/test$ ./liu
result = 3.142e+04 <------是否是你想要的结果?其中e+04代表10的4次方。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bhtzu
2014-05-05 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4232万
展开全部
printf("%3e",你的变量名);
追问
哦!谢啦!就是不确定记错没!所以问问!可否再问你一个关于C语言编程的问题啊?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿呆123狮子
2014-05-05 · TA获得超过196个赞
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:154万
展开全部
printf("%.3e",你的变量名);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IT孤鹜
2014-05-05 · TA获得超过4198个赞
知道大有可为答主
回答量:3960
采纳率:71%
帮助的人:3583万
展开全部
printf("%.3e",12.345);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式