实验一(定期存款利息估算)

编程实现: 

张先生有20,000元,想存5年,可以有5种存款方法:

        ⑴存活期存款。活期利息每季度结算一次。

        ⑵存1年期,到期后本息合计再存1年期,连续存5次。

        ⑶先存2年期,到期后本息合计再存3年期。

        ⑷先存3年期,到期后本息合计再存2年期。

        ⑸一次存5年期。

        2021年1月银行存款利息如下:

                1年定期存款年利率为:1.75%

                2年定期存款年利率为:2.25%

                3年定期存款年利率为:2.75%

                5年定期存款年利率为:2.75%

                活期存款年利率为:    0.30%

如果m为存款金额,r为年利率,n为存款年数,则计算本息和的公式为:

                1年期本息和:          p=m*(1+r)

                存n次1年期的本息和:  p=m*(1+r)ⁿ

                n年期本息和:           p=m*(1+n*r)

                活期存款本息和:        p=m*(1+r/4)⁴ⁿ

⑴计算5种存款方法到期后的本息和,各是多少?

⑵哪种方法存款方法得到的利息最多?

⑶对5种存款方法得到的利息按照从少到多输出。

#include <stdio.h>
#include <math.h>

//冒泡排序函数的定义及实现
void Bubble(float* nums, int size)
{
	int i = 0, n = 0;
	for (i = 0; i < size - 1; i++)//走几趟冒泡排序,size个数就要进行size-1趟冒泡排序
	{
		//第一趟冒泡排序要进行size-1次排序,第二趟进行size-2次......故终止条件为size-1-i
		for (n = 0; n < size - 1 - i; n++)
		{
			if (nums[n] > nums[n+1])
			{
				float temp = nums[n];
				nums[n] = nums[n + 1];
				nums[n + 1] = temp;
			}
		}
	}
}

int main()
{
	float p1 = 20000 * pow(1 + 0.003 / 4, 4 * 5);              //p = m * (1 + r / 4)^4n
	float p2 = 20000 * pow(1 + 0.0175, 5);                     // p = m * (1 + r)^n
	float p3 = (20000 * (1 + 2 * 0.0225)) * (1 + 3 * 0.0275);  //p = m * (1 + n * r)
	float p4 = (20000 * (1 + 3 * 0.0275)) * (1 + 2 * 0.0225);  //p = m * (1 + n * r)
	float p5 = 20000 * (1 + 5 * 0.0275);                       //p = m * (1 + n * r)
	printf("(1)5种存款方法到期后的本息和分别为:\n%0.3f  %0.3f  %0.3f  %0.3f  %0.3f\n", p1, p2, p3, p4, p5);
	float a1 = p1 - 20000;
	float a2 = p2 - 20000;
	float a3 = p3 - 20000;
	float a4 = p4 - 20000;
	float a5 = p5 - 20000;
	float arr1[] = { a1,a2,a3,a4,a5 };
	float max = 0;
	int i = 0;
	for (i = 0; i < 5; i++)
	{
		if (arr1[i] >= max)
			max = arr1[i];
	}
	printf("\n(2)第%d种方法存款方法得到的利息最多,利息为:%0.3f\n",i, max);
    //引用冒泡排序函数
	Bubble(arr1, 5);
	printf("\n(3)5种存款方法得到的利息按照从少到多输出为:\n");
	for (i = 0; i < 5; i++)
	{
		printf("%0.3f  ", arr1[i]);
	}
	printf("\n");
	return 0;
}

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值