0:
#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);
/*
等额本息还款法,也称定期付息,即借款人每月按相等的金额偿还贷款本息,其中每月贷款利息按月初剩余贷款本金计算并逐月结清。
月均还款 = 贷款本金 * (月利率 * (1 + 月利率)^还款月数) / ((1 + 月利率)^还款月数 - 1)
总利息 = 还款月数 * 月均还款 - 贷款本金
贷款本金 = 房款总额 * 按揭成数
*/
mir = yir * 0.01 / 12; // 月利率 年利率需要除以100得到,因为用户输入是5.4(%),而不是0.054
time = time * 12; //还款月数
total_price = price * area;
loan = total_price * ratio * 0.1; //贷款总额 这里不能写成(ratio / 10),否则结果会变成0
ave_repay = loan * mir * pow((1 + mir), time) / (pow((1 + mir), time) - 1); // 月均还款
interest = ave_repay * time - loan; // 总利息
total_repay = loan + interest; // 还款总额
down_payment = total_price * (1 - (float)ratio / 10); //首付 强制转换ratio为浮点型
printf("===========报告结果===========\n");
printf("放款总额:%.2f元\n",total_price);
printf("首期付款:%.2f元\n",down_payment);
printf("贷款总额:%.2f元\n",loan);
printf("还款总额:%.2f元\n",total_repay);
printf("支付利息:%.2f元\n",interest);
printf("月均还款:%.2f元\n",ave_repay);
}
1:
#include <stdio.h>
#include <math.h>
int main()
{
int num;
float money;
float temp;
float r;
float r1;
float result;
printf("请输入您需要存款的方式:");
scanf("%d",&num);
if ( num == 1){
r = 2.75 * 0.01;
money = 10000 * (1 + r * 5);
result = money;
printf("您的本息和为%.2f",result);
}else if ( num == 2){
r = 2.75 * 0.01;
r1 = 2.25 * 0.01;
money = 10000 * ( 1 + r * 3) * ( 1 + r1 * 2);
result = money;
printf("您的本息和为%.2f",result);
}else if ( num == 3){
r = 1.75 * 0.01;
money = 10000 * (pow(( 1 + r ),5));
result = money;
printf("您的本息和为%.2f",result);
}else{
printf("您输入的存款方式有误");
}
}