有1000元,想存5年,5种方法存:
(1)一次存5年
(2)先存2年期,到期后将本息再存3年期。
(3)先存3年期,到期后将本息再存2年期,
(4)存1年期,到期后将本息再存1年期,连续存5次。
(5)存活期存款。活期利息每一季度结算一次
2017年的银行存款利息如下:
1年期定期存款利息为1.5%;
2年期定期存款利息为2.1%;
3年期定期存款利息为2.75%;
5年期定期存款利息为3%;
活期存款利息为0.35%(活期存款每一季度结算一次利息)。
如果r为年利率,n为存款年数,则计算本息和的公式:
1年期本息和:P=1000(1+r)
n年期本息和:P=1000(1+nr)
存n次1年期的本息和:P=1000(1+r)n次方
活期存款本息和:P=1000*(1+r/4)4n次方
样本输入
1000
样本输出
p1=1150.000000
p2=1127.965000
p3=1127.965000
p4=1077.284004
p5=1017.646235
按照你给的公式计算的,哪里不对,你就看哪里的公式不对,我这里输出除了第五个其他都正常
#include <stdio.h>
int main()
{
double sum = 1000;
double x1 = 0.015, x2 = 0.021, x3 = 0.0275, x4 = 0.03, x5 = 0.0035;
// p1 = 1000(1+5*x4)
double p1 = sum * (1 + 5*x4);
printf("p1 = %.6lf\n", p1);
// p2 = (1000(1+2*x2)) * (1+3*x3)
double p2 = (sum * (1 + 2*x2)) * (1 + 3*x3);
printf("p2 = %.6lf\n", p2);
// p3 = (1000(1+3*x3)) * (1+2*x2)
double p3 = (sum * (1 + 3*x3)) * (1 + 2*x2);
printf("p3 = %.6lf\n", p3);
// p4 = 1000(1+x1)^5
double p4 = sum * (1 + x1);
for(int i=0; i<4; i++)
{
p4 *= (1 + x1);
}
printf("p4 = %.6lf\n", p4);
// p5 = 1000(1+x5/4)^20
double p5 = sum * (1 + x5/4);
for(int i=0; i<19; i++)
{
p4 *= (1 + x5/4);
}
printf("p5 = %.6lf\n", p5);
return 0;
}