|
发表于 2020-11-30 22:31:08
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c,d; //房屋单价,房屋面积,基准年利率,基准月利率
float e,f,g,h,i,j; //房款总额,首期付款,贷款总额,支付利息,月均还款,还款总额
int k,l,m; //按揭成数,按揭年数
printf("请输入房屋单价 (元/平方): ");
scanf("%f",&a);
printf("请输入房屋面积: ");
scanf("%f",&b);
printf("请输入基准年利率: ");
scanf("%f",&c);
printf("请输入按揭成数: ");
scanf("%d",&k);
printf("请输入按揭年数: ");
scanf("%d",&l);
m=12*l;
e=a*b;
f=e*(1-(float)k/10);
g=e*k/10;
d=c/100/12;
i=g*(d*pow((1+d),m)/(pow((1+d),m)-1));
h=12*(float)l*i-g;
j=h+g;
printf("=========报告结果============\n");
printf("房贷总额:%.2f\n",e);
printf("首期付款:%.2f\n",f);
printf("贷款总额:%.2f\n",g);
printf("还款总额:%.2f\n",j);
printf("支付利息:%.2f\n",h);
printf("月均还款:%.2f\n",i);
return 0;
}
请问我这个程序哪里有错误
为啥我输出的数据里有两三个数据差了一点点
若只差 0.02 ,那问题是不大的,这是计算精度引起的。不必太过在意,程序是对的,说明我们已经掌握了此题的编写方法。下图中间那个,我就是将你的程序中的所有整数改为了带小数的整数,比如:10 改为 10.0
|
|