fork download
  1. #include <iostream>
  2. #include <cstddef>
  3.  
  4. typedef float Float;
  5.  
  6. void doStuff(double a, double b, double c, std::size_t precision = 32) {
  7. const Float part = a + b;
  8. const Float result = part + c;
  9.  
  10. std::cout.precision(precision);
  11. std::cout.setf(std::ios_base::fixed, std::ios_base::floatfield);
  12. std::cout << " a = " << a << '\n'
  13. << " b = " << b << '\n'
  14. << " a+b = " << part << '\n'
  15. << " c = " << c << '\n'
  16. << "(a+b)+c = " << result << '\n' << '\n';
  17. }
  18.  
  19. int main() {
  20. Float a, b, c;
  21.  
  22. while (std::cin >> a >> b >> c) {
  23. doStuff(a, b, c);
  24. }
  25. }
  26.  
Success #stdin #stdout 0s 3432KB
stdin
0.4 0.1 0.1
0.1 0.1 0.4
stdout
      a = 0.40000000596046447753906250000000
      b = 0.10000000149011611938476562500000
    a+b = 0.50000000000000000000000000000000
      c = 0.10000000149011611938476562500000
(a+b)+c = 0.60000002384185791015625000000000

      a = 0.10000000149011611938476562500000
      b = 0.10000000149011611938476562500000
    a+b = 0.20000000298023223876953125000000
      c = 0.40000000596046447753906250000000
(a+b)+c = 0.60000002384185791015625000000000