求大神解答,a=100.0可以求出来,但是现在a=1000.0为什么运行不出来?

#include
void main()
{
int i=0;
float a=1000.0;
while(a > 0.0)
{
a -= 50.0 - a * 0.079;

i++;

}

printf("%d年后会取完所有的钱\n",i);

}

a=1000的时候
a -= 50.0 - a * 0.079;
a = a - (50 - 79) = a + 29
a变大了
再往下,a越来越大
永远满足a>0
所以死循环了。

问题解决的话,请点下采纳。

当50-a*0.079<0时,a会越变越大,会一直循环下去