c++问题。。试编写一个银行贷款计算等额还款的程序。高手帮我看下下面的程序哪里错了!!

试编写一个银行贷款计算等额还款的程序,其功能是:从键盘输入一个借款总额z,贷款年限n,年利率k,计算出每月应还款额x是多少。其计算原理是到约定期限时,借款总数应与还款总数... 试编写一个银行贷款计算等额还款的程序,其功能是:从键盘输入一个借款总额z,贷款年限n,年利率k,计算出每月应还款额x是多少。其计算原理是

到约定期限时,借款总数应与还款总数相同。其中:

借款总数的计算公式为z(1+k/12)^(12*n)

还款总数的计算公式为∑x(1+k/12)^i (i=0,1,2,..,n*12-1)

例如:输入1000000 30 0.06,输出5995.505252。

#include<stdio.h>
void main()
{
int z,n,i,j;
float k,s,c=1,x,a=0,b=1;
scanf("%d%d%f",&z,&n,&k);
for(i=1;i<=12*n;i++)
c=c*(float)(1+k/12);
s=(float)z*c;
for(i=0;i<12*n;i++)
{
{
for(j=1;j<=i;j++)
b=b*(float)(1+k/12);
}
a=a+b;
}
x=s/a;
printf("%lf\n",x);
}
展开
 我来答
借贷有风险,选择需谨慎
tian_et
推荐于2016-07-28 · TA获得超过783个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:321万
展开全部
你的错误实在太多了。看代码王的程序简洁易懂

#include<stdio.h>
#include<math.h>
int main()
{
double z,k,x,monthPay,allMoney,temp=0;
int n,i;
printf("输入借款总额、贷款年限、年利率: ");
//贷款总和最好不要用int型的,int的最大值是32767,那你岂不是超了
scanf("%lf%d%lf",&z,&n,&k);

//计算n年后要还的总的钱数 pow(x,y)是在头文件math.h中的函数计算x^y
allMoney = z*pow((1+k/12),12*n);

//式子∑x(1+k/12)^i (i=0,1,2,..,n*12-1)将x提出到前面计算 temp=∑(1+k/12)^i
for(i=0; i<12*n; i++)
temp += pow((1+k/12),i);

//根据等式z(1+k/12)^(12*n) = ∑x(1+k/12)^i (i=0,1,2,..,n*12-1) 得x=allMoney/temp;
x = allMoney/temp;

printf("每月应还款:%lf", x);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式