首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C Primer Plus里面的一题,求解,该怎么处理

2012-03-05 
C Primer Plus里面的一题,求解编写一个程序,设置一个值为1.0/3.0的double类型变量和一个值为1.0/3.0的floa

C Primer Plus里面的一题,求解
编写一个程序,设置一个值为1.0/3.0的double类型变量和一个值为1.0/3.0的float类型变量。每个变量的值显示三次:一次在小数点右侧显示4个数字,一次在小数点右侧显示12个数字,另一次在小数点右侧显示16个数字。同时要让程序包括float.h文件,并显示FLT—DIG和DBL_DIG的值。1.0/3.0的显示值与这些值一致吗?

我这样写对吗?
#include <stdio.h>
#include <float.h>
int main(void)
{
double a = 1.0 / 3.0;
float b = 1.0 / 3.0;

printf("%.4f %.12f %.16f\n", a);
printf("%.4f %.12f %.16f\n", b);

printf("FLT_DIG:%f\n", FLT_DIG);
printf("DBL_DIG:%f\n", DBL_DIG);
return 0;
}

显示结果是:
0.3333 0.000000000000 -925596166353496210000000000000000000000000000000000000000
00000.0000000000000000
0.3333 0.000000000000 -925596166353496210000000000000000000000000000000000000000
00000.0000000000000000
FLT_DIG:0.000000
DBL_DIG:0.000000

我感觉很有问题啊,求解!

[解决办法]
printf("%.4f %.12f %.16f\n", a, a, a);
printf("%.4f %.12f %.16f\n", b, b, b);
[解决办法]
printf("FLT_DIG:%d\n", FLT_DIG);
printf("DBL_DIG:%d\n", DBL_DIG);


0.3333 0.333333333333 0.3333333333333333
0.3333 0.333333343267 0.3333333432674408
FLT_DIG:6
DBL_DIG:15

热点排行