C语言编程题,求解题思路!
等额本金和等额本息是当前贷款还款的主要形式,其中等额本金还款是指借款人每月等额偿还本金,贷款利息随本金逐月递减,还款额也逐月递减。等额本金还款计算公式:每月还款金额=(贷...
等额本金和等额本息是当前贷款还款的主要形式,其中等额本金还款是指借款人每月等额偿还本金,贷款利息随本金逐月递减,还款额也逐月递减。
等额本金还款计算公式:
每月还款金额 = (贷款本金 / 还款月数) + (本金 - 已归还本金累计额) × 每月利率。
现给定某客户的贷款本金(P,单位为元)、贷款期数(N,单位为月)和每月利率(R),请计算该客户每个月的还款金额(精确到小数点后两位,四舍五入)。
【例子】
输入:(自测输入格式:1000000;7;0.003959)
P = 1,000,000
N = 7
R = 0.003959
输出:[146816.14, 146250.57, 145685.0, 145119.43, 144553.86, 143988.29, 143422.71] 展开
等额本金还款计算公式:
每月还款金额 = (贷款本金 / 还款月数) + (本金 - 已归还本金累计额) × 每月利率。
现给定某客户的贷款本金(P,单位为元)、贷款期数(N,单位为月)和每月利率(R),请计算该客户每个月的还款金额(精确到小数点后两位,四舍五入)。
【例子】
输入:(自测输入格式:1000000;7;0.003959)
P = 1,000,000
N = 7
R = 0.003959
输出:[146816.14, 146250.57, 145685.0, 145119.43, 144553.86, 143988.29, 143422.71] 展开
2个回答
展开全部
只要按照公式计算每月还款金额就可以了,其中"已归还本金累计额"等于"贷款本金 除以 还款月数 乘以 已还款月数".
按照题目要求编写的等额本金还款的C语言程序如下
#include<stdio.h>
int main(){
double P,R,repayment;
int N,i;
scanf("%lf;%d;%lf",&P,&N,&R);
printf("[");
for(i=0;i<N;i++){
repayment=(P/N)+(P-P/N*i)*R;
if(i==N-1)
printf("%.2lf]",repayment);
else
printf("%.2lf,",repayment);
}
return 0;
}
追问
谢谢!大神厉害啊,连中括号都分这么细!
展开全部
#include <stdlib.h>
#include <stdio.h>
int main()
{
int P, N;
double R;
printf("input data: ");
scanf("%d;%d;%lf", &P, &N, &R);
printf("P = %d\n", P);
printf("N = %d\n", N);
printf("R = %0.6f\n", R);
double avg = (double)P / N;
double ret = 0;
printf("[");
for (size_t i = 0; i < N; ++i)
{
double money = avg + (P - ret) * R;
ret += avg;
printf("%.2f", money);
if (i < N - 1)
printf(", ");
}
printf("]\n");
return 0;
}
#include <stdio.h>
int main()
{
int P, N;
double R;
printf("input data: ");
scanf("%d;%d;%lf", &P, &N, &R);
printf("P = %d\n", P);
printf("N = %d\n", N);
printf("R = %0.6f\n", R);
double avg = (double)P / N;
double ret = 0;
printf("[");
for (size_t i = 0; i < N; ++i)
{
double money = avg + (P - ret) * R;
ret += avg;
printf("%.2f", money);
if (i < N - 1)
printf(", ");
}
printf("]\n");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询