1029计算浮点数相除的余

 1 #include<cstdio>
 2 using namespace std;
 3 int main()
 4 {
 5     double a,b,r;
 6     int k;
 7     scanf("%lf%lf",&a,&b);
 8     k=a/b;
 9     r=a-k*b;
10     printf("%g",r);
11     
12     return 0;
13 }

 

  • %g用于打印浮点型数据时,会去掉多余的零,至多保留六位有效数字(不同于%e的默认保留小数点后6位)
  • 当%g用于打印超过6位的浮点型数据时,因为精度问题,%f不得不输出一个不精确的超过六位的数字,%e也是同样,而%g此时会选择%e格式进行输出,并且按第一条要求,去掉多余的零,并且四舍五入到6位数字。这是《C Primer Plus》中所说的超过精度的时候的情况。 (可见,这个6位,是按float类型精度来计算的。)
  • 当一个数字的绝对值很小的时候,要表示这个数字所需要的字符数目就会多到让人难以接受。举例而言,如果我们把π*10^-10写作0.00000000000314159就会显得非常丑陋不雅,反之,如果我们写作3.14159e-10,就不但简洁而且易读好懂。当指数是-4时,这两种表现形式大小相同。对于比较小的数值,除非该数的指数小于或者等于-5,%g才会采用科学技术发来表示,即,以%e的格式进行输出。
posted @ 2017-12-02 23:19  TFLSNOI  阅读(3214)  评论(1编辑  收藏  举报