| 
 | 
 
 
发表于 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
  
 
 
 |   
 
 
 
 |