c程序算利息

来源:百度知道 编辑:UC知道 时间:2024/05/30 03:45:51
利息=本金*月息利率*12*存款年限。
现在某人手中有2000元钱,请通过计算选择一种存钱方案,使得钱存入银行20年后得到的利息最多(假定银行对超过存款期限的那一部分时间不付利息)。
数据描述 输出第1行为存款方案(各利率存款次数),输出第2行为最大收益。
输入格式 (程序不需要输入数据)
输出格式 8年=0 5年=4 3年=0 2年=0 1年=0
最大收益=8841.01
#include<stdio.h>
#include<math.h>
void main(){
double a[5],e[5],rate[5]={0.00063,0.00066,0.00069,0.00075,0.00084},b=2000,c,d=2000;
for(a[5]=0;a[5]<=2;a[5]++){
for(a[4]=0;a[4]<=(20-8*a[5])/5;a[4]++){
for(a[3]=0;a[3]<=(20-8*a[5]-5*a[4])/3;a[3]++){
for(a[2]=0;a[2]<=(20-8*a[5]-5*a[4]-3*a[3])/2;a[2]++){
for(a[1]=0;a[1]<=(20-8*a[5]-5*a[4]-3*a[3]-2*a[2]);a[1]++){
c=b*(pow (1+rate[5],a[5]))*(pow (1+rate[4],a[4]))*(pow (1+rate[3],a[3]))*(pow (1+rate[2],a[2]))*(pow (1+rate[1],a[1]));
if(c>d||a[5]+a[4]+a[3]+a[2]+a[1]==20) d=c,e[5]=a[5],e[4]=a[4],e[3]=a[3],e[2]=a[2],e[1]=a[1];
}
}
}
}
}
printf("8年=%.2f 5年=%.2f 3年=%.2f 2年=%.2f 1年=%.2

#include <stdio.h>
#include <math.h>
main()
{
int i8,i5,i3,i2,i1,n8,n5,n3,n2,n1;
double max=0,term=0;
for(i8=0;i8<=2;i8++)
for(i5=0;i5<=(20-i8*8)/5;i5++)
for(i3=0;i3<=(20-i8*8-i5*5)/3;i3++)
for(i2=0;i2<=(20-i8*8-i5*5-i3*3)/3;i2++)
{
i1=20-i8*8-i5*5-i3*3-i2*2;
term=2000.0*pow((double)(1+12*0.0063),(double)i1)*pow((double)(1+12*2*0.0066),(double)i2)*pow((double)(1+3*12*0.0069),(double)i3)*pow((double)(1+5*12*0.0075),(double)i5)*pow((double)(1+8*12*0.0084),(double)i8);
if(term>max)
{
max=term;n1=i1;n2=i2;n3=i3;n5=i5;n8=i8;
}
}
printf("The plan is:\n");
printf("8-%d\n",n8);
printf("5-%d\n",n5);
printf("3-%d\n",n3);
printf("2-%d\n",n2);
printf("1-%d\n",n1);
printf("total=%lf\n",max);
}