2014acm

 用C其实也挺简单的,有个投机取巧的办法
我的想法是,既然希望保留两位小数,那么就必须看第三位小数,如果大于5,就进位,那么我们可以让第三位加上5,因为最后第三位是舍掉的,因此无论怎么改变第三位也没有问题。这样就想起了强制类型转换,呵呵,自己乘上100,然后加上0.5,再强制类型转换成int,将第三位舍掉,自己除100,恢复原来的数字。

 

 

 #include<iostream>
using namespace std;
int main()
{
  float length=1.9865;
  length*=100;
  length+=0.5;
  length=(int)length;                  //length = ((int)(length*200)+1) / 200;
  length/=100;
  cout<<length<<endl;
  return 0;
}

分类:

技术点:

相关文章:

  • 2022-01-06
  • 2022-12-23
  • 2021-12-18
  • 2021-12-18
  • 2021-11-18
  • 2021-08-11
  • 2022-02-14
  • 2021-09-16
猜你喜欢
  • 2021-11-18
  • 2022-12-23
  • 2021-11-18
  • 2021-12-31
  • 2021-10-24
相关资源
相似解决方案