Я пытаюсь разработать программу для расчета и отображения количества секунд, пока текущее население не достигнет 8 миллиардов.Я думаю, что моя логика правильна, но мой цикл while зацикливается бесконечно, и я не могу понять, почему.
Я привык к C ++, но я впервые пишу на C, поэтому мне интересно,есть некоторая синтаксическая проблема, которую я пропускаю.
// Program to calculate population increase
// to see how many seconds from now
// the population will hit 8 billion
#include <stdio.h>
#include <math.h>
int main()
{
float currentPop = 7600000000.0;
float increasePerSec = 2.5;
int secondCount = 0;
printf("Counting...\n");
while (currentPop < 8000000000.01)
{
currentPop += increasePerSec;
secondCount++;
}
printf("It will be %f seconds from now.\n",secondCount);
return 0;
}
Кажется, что проблема существует в этой строке:
currentPop += increasePerSec;
, потому что значение всегда остается на уровне 7,6 миллиарда.На всякий случай я попробовал:
currentPop = currentPop + increasePerSec;
, но без изменений в результате.