新手的每日一问
#include <stdio.h>#include <math.h>
int main()
{
float area,price_each_area;//面积,面积单价
float interest,loan,total_pay_back,pay_loan,pay_every_month;//利息,贷款总额,还款总额 ,支付利息,月均还款
int rate,year,month;//按揭成数,按揭年数 ,按揭月数
float year_rate,month_rate;//年利率 月利率
float total_price,first_price;//房款总额,首期付款
printf("请输入单价(元/平方):");
scanf("%f", &price_each_area);
printf("请输入面积:%f");
scanf("%f", &area);
printf("请输入按揭成数:");
scanf("%d", &rate);
printf("请输入按揭年数:");
scanf("%d", &year);
printf("请输入当前基准年利率:");
scanf("%f", &year_rate);
//各种公式
total_price = area*price_each_area;
loan = total_price*rate/10;
first_price = total_price - loan;
total_pay_back = loan + loan*year*(year_rate/100);
pay_loan = loan*year*(year_rate/100);
month_rate = year_rate/100/12;
month = year*12;
pay_every_month = loan*(month_rate*pow(1+month_rate,month))/(pow(1+month,month)-1);
interest = pay_every_month*month-loan;
printf("==========报告结果==========\n");
printf("房款总额:%f\n",total_price);
printf("首期付款:%f\n",first_price);
printf("贷款总额:%f\n",loan);
printf("还款总额:%f\n",total_pay_back);
printf("支付利息:%f\n",interest);
printf("月均还款:%f\n",pay_every_month);
return 0;
}
可能公式上面还有一些问题,但是最主要的问题就是在输入面积的时候回出现如图一所示的情况,虽然还是能够得到正确的结果(如图2),但是请问一下怎么解决这个问题 本帖最后由 jackz007 于 2019-2-21 14:37 编辑
第16行有问题,把引号里的 %f 抹掉:
printf("请输入面积:") ; 本帖最后由 910201513 于 2019-2-21 15:56 编辑
第十七行换成
scanf("%lf", &price_each_area);/*把price_each_area换成double型*/
float的精度为8位有效数字;
double 16位
九位小数应该用double(双精度浮点型) jackz007 发表于 2019-2-21 14:36
第16行有问题,把引号里的 %f 抹掉:
好的谢谢
页:
[1]