小编sta*_*ust的帖子

积累错误

我有一个很直截了当的问题.以下代码打印出摄氏度和华氏度.我的问题是它迭代的次数.对于较小的数字,例如从0开始,在10处停止,步长为1.1.循环完成后,它将打印出正确的迭代次数.

但对于大数字0-11000000,步骤1.1将打印出错误的迭代次数.为什么会这样?由于1100000/1.1应该在1000001左右,但我得到990293.

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{

   float start, stop, step;
   int count = 0;

   cout << "start temperature: ";
   cin >> start;
   cout << "stop temperature: ";
   cin >> stop;
   cout << "step temperature: ";
   cin >> step;

   cout << setw(10) << "celsius" << setw(15) << "fahrenheit" << endl;
   cout << setw(25) << "celsius" << setw(15) << "fahrenheit" << endl;

   while(start <= stop)
   {
      count++;
      float c, f;
      c = (5.0/9)*(start-32);
      f = 32+(9.0/5)*start; …
Run Code Online (Sandbox Code Playgroud)

c++ iteration accumulate

0
推荐指数
1
解决办法
594
查看次数

标签 统计

accumulate ×1

c++ ×1

iteration ×1