C 找到无法偿还贷款的确切金额(避免无限循环)
这是我为一个简单的C程序编写的代码,该程序将计算支付的利息 贷款。我对密码没有任何疑问。但我想不出一种方法来找到无法还清贷款的确切付款金额(该金额将导致无限循环)。我只知道金额应该在41.7左右。有没有一个聪明的方法可以做到这一点?多谢各位C 找到无法偿还贷款的确切金额(避免无限循环),c,infinite-loop,C,Infinite Loop,这是我为一个简单的C程序编写的代码,该程序将计算支付的利息 贷款。我对密码没有任何疑问。但我想不出一种方法来找到无法还清贷款的确切付款金额(该金额将导致无限循环)。我只知道金额应该在41.7左右。有没有一个聪明的方法可以做到这一点?多谢各位 #include <stdio.h> #include <stdlib.h> int main() { float p; float i; float temp, ti = 0; int a = 1;
#include <stdio.h>
#include <stdlib.h>
int main()
{
float p;
float i;
float temp, ti = 0;
int a = 1;
printf("Please enter your monthly payment: ");
scanf("%f", &p);
printf("\n");
float r = 0.25;
float b = 2000.0;
printf("r = %.2f\nB = %.1f\nP = %.1f \n\n", r, b, p);
i = (r/12) * b;
temp = i;
printf("%d %.2f %.2f\n", a, i, b);
a ++;
while(i > 0)
{
i = (r/12) * (b - p + temp);
b = (b - p + temp);
ti += temp;
temp = i;
printf("%d %.2f %.2f\n", a, i, b);
a ++;
}
printf("\n");
printf("total interest paid: %.2f\n", ti);
return 0;
}
#包括
#包括
int main()
{
浮动p;
浮点数i;
浮子温度,ti=0;
INTA=1;
printf(“请输入您的每月付款:”);
scanf(“%f”、&p);
printf(“\n”);
浮点数r=0.25;
浮动b=2000.0;
printf(“r=%.2f\nB=%.1f\nP=%.1f\n\n”,r,b,p);
i=(r/12)*b;
温度=i;
printf(“%d%.2f%.2f\n”,a,i,b);
a++;
而(i>0)
{
i=(r/12)*(b-p+temp);
b=(b-p+temp);
ti+=温度;
温度=i;
printf(“%d%.2f%.2f\n”,a,i,b);
a++;
}
printf(“\n”);
printf(“支付的利息总额:%.2f\n”,ti);
返回0;
}
当每月付款少于每月利息值时,程序将进入无限循环。
在给定的代码中
i = (r/12) * (b - p + temp);
确定无限循环条件
使循环终止
p > temp
p > (r / 12) * b
替换值将给出
p > (0.25 / 12) * 2000
p > 41.66
当每月付款保持不变时,是否有理由需要手动复利?你不能只计算将要增加的利息金额,因为任何低于该利息的付款利率都无法偿还贷款?与问题有什么关系?什么都没有。我只想知道确切的数值,而不是41.7