读书人

C语言的单精度和双精度的尖端有关问题

发布时间: 2013-07-29 10:30:31 作者: rapoo

C语言的单精度和双精度的尖端问题。
问大家一下,

#include<stdio.h>
void main()
{
float a=0.65f;
float b=0.6f;
float c=a-b;
printf("结果是:%.25e\n",c);
}



#include<stdio.h>

void main()

{

float a;

printf("请输入数字:");

scanf("%e",&a);

printf("结果是:%.25e\n",a);



}

请输入数字:2.2e-2

结果是:2.1999999880790710000000000e-002

Press any key to continue


如何让上述中的结果分别显示为 5.00-002 和 2.20e-2 即用“四舍五入”的方法来显示出来。

用多种方法来实现上述问题的结果。谢谢。 C
[解决办法]
可以使用floor函数

保留一位小数
floor(x*10+0.5)/10;
保留两位小数
floor(x*100+0.5)/100;
保留N位你懂的
[解决办法]
看一下应该是%.2e
[解决办法]

引用:
您能把详细的整个程序,分别写出来吗?我是初学者。不大懂呜……急求详解。谢谢。

就是把%e改成%.2e

读书人网 >C语言

热点推荐