本文章是自己过年期间闲来无事想分析下如果每个月定投到基金中500块钱,年利率按照3%来计算,十年后本息一共是多少,赚取的利息是多少。并且与如果一开始就存入500x10x12=6万块钱,那么十年后利息是多少。根据以上想法,写出的如下程序

#include<stdio.h>
#include<math.h>
//假设利息按照一个月一个月算
//如果按月定投
double func(double capital,int month,double rate)
{
	double monthRate=rate/12;
	if(month ==1)
		return capital*(1+monthRate);
	else
		return func(capital,month-1,rate)*(1+monthRate)+capital;
}

//如果一次性全部存进去
double func2(double allCapital,int month,double rate)
{
		double monthRate=rate/12;
		return allCapital*pow(1+monthRate,month);
}

int main()
{
	int month=0;
	double capital=50000;//每月定投额度
	double rate=0.02;//年利率
	while(1)
	{	
		//定投
		printf("put month:");
		scanf("%d",&month);
		//int allCapital=month*capital;	
		printf("total=%lf\t",func(capital,month,rate));
		printf("total capital=%lf\t",capital*month);
		printf("interest=%lf\n",func(capital,month,rate)-capital*month);

		//若将定投的总额一次全存进去
		double allCapital=month*capital;
		printf("total=%lf\t",func2(allCapital,month,rate));
		printf("total capital=%lf\t",allCapital);
		printf("interest=%lf\n",func2(allCapital,month,rate)-capital*month);
	}
}

代码写的并不优美,只是想用来做简单分析。

更多推荐

(C语言)利率计算