您的代码看起来是一个计算房贷的程序,从您的描述来看,可能是“还款总额”和“支付利息”这两个值没有正确计算出来。我注意到您的代码中并没有计算和输出“还款总额”(total_repay)的部分,这可能是问题所在。
在您的代码中,您已经计算了每月的平均还款(ave_repay),那么“还款总额”应该就是每月的平均还款乘以还款的总月数。所以,您可以在计算“支付利息”之前,添加一行代码来计算“还款总额”:
total_repay = ave_repay * time;
然后,您的“支付利息”是通过“还款总额”减去“贷款总额”来计算的,这个计算是正确的。但是,由于之前没有计算“还款总额”,所以“支付利息”的计算结果也会有问题。
所以,修正后的代码应该是这样的:
#include <stdio.h>
#include <math.h>
int main() {
float price,area,yir,mir;//单价、面积、年利率、月利率
float interest,loan;//利息、贷款总额
float ave_repay,down_payment;//月均还款、首期付款
float total_price,total_repay;//房款总额、还款总额
int ratio,time;//按揭成数、按揭年数
printf("请输入单价(元/平方):");
scanf("%f",&price);
printf("请输入面积:");
scanf("%f",&area);
printf("请输入按揭成数:");
scanf("%d",&ratio);
printf("请输入按揭年数:");
scanf("%d",&time);
printf("请输入当前基准年利率:");
scanf("%f",&yir);
mir=yir/100/12;
time=time*12;
total_price=price*area;
loan=total_price*ratio/10;
ave_repay=loan*mir*pow((1+mir),time)/(pow((1+mir),time)-1);
total_repay = ave_repay * time; // 添加的计算还款总额的代码
interest=time*ave_repay-loan;
down_payment=total_price*(1-(float)ratio/10);
printf("==========报告结果===========\
");
printf("房款总额:%.2f元\
",total_price);
printf("首期付款:%.2f元\
",down_payment);
printf("贷款总额:%.2f元\
",loan);
printf("还款总额:%.2f元\
",total_repay); // 修改的输出还款总额的代码
printf("支付利息:%.2f元\
",interest);
printf("月均付款:%.2f元\
",ave_repay);
return 0;
}
希望这个答案能帮到您!如果还有其他问题,欢迎继续提问。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案 |