存款利息的计算。有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%(活期存款每一-季度结算一次利息)
#include #include #include #include int main(void) { int type; double money = 1000.0, profit, origin = money;//origin 本金 puts("请选择存钱方式:\n1.一次存5年期\n2.先存2年期,到期后将本息再存3年期\n3.先存3年期,到期后将本息再存2年期\n4.存1年期,到期后将本息再存1年期,连续存5次\n5.存活期存款,活期利息每一季度结算一次"); scanf("%d", &type); switch (type) { case 1:profit = money * (1 + 5 * 0.03) - origin; printf("方式%d存钱利润为:%lf\n", type, profit); break; case 2:money *= (1 + 2 * 0.021); profit = money * (1 + 0.0275 * 3) - origin; printf("方式%d存钱利润为:%lf\n", type, profit); break; case 3:money *= (1 + 3 * 0.0275); profit = money * (1 + 0.021 * 3) - origin; printf("方式%d存钱利润为:%lf\n", type, profit); break; case 4:money = 1000 * pow((1 + 0.015), 5); profit = money - origin; printf("方式%d存钱利润为:%lf\n", type, profit); break; case 5:money = 1000 * pow((1 + 0.015 / 4), 4 * 5); profit = money - origin; ; printf("方式%d存钱利润为:%lf\n", type, profit); break; } return 0; }
#include <stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main(void) { int type; double money = 1000.0, profit, origin = money;//origin 本金
puts("请选择存钱方式:\n1.一次存5年期\n2.先存2年期,到期后将本息再存3年期\n3.先存3年期,到期后将本息再存2年期\n4.存1年期,到期后将本息再存1年期,连续存5次\n5.存活期存款,活期利息每一季度结算一次"); scanf("%d", &type); switch (type) { case 1:profit = money * (1 + 5 * 0.03) - origin; printf("方式%d存钱利润为:%lf\n", type, profit); break; case 2:money *= (1 + 2 * 0.021); profit = money * (1 + 0.0275 * 3) - origin; printf("方式%d存钱利润为:%lf\n", type, profit); break; case 3:money *= (1 + 3 * 0.0275); profit = money * (1 + 0.021 * 3) - origin; printf("方式%d存钱利润为:%lf\n", type, profit); break; case 4:money = 1000 * pow((1 + 0.015), 5); profit = money - origin; printf("方式%d存钱利润为:%lf\n", type, profit); break; case 5:money = 1000 * pow((1 + 0.015 / 4), 4 * 5); profit = money - origin; ; printf("方式%d存钱利润为:%lf\n", type, profit); break; } return 0; }
#include <stdio.h>
#include "math.h"
// 各种存款方式的利率
double interest[5] = {0.0035, 0.015, 0.021, 0.0275, 0.03};
double get_deposit_interest_by_year(double money, int year) {
int index = year < 5 ? year : year - 1;
return money * (1 + year * interest[index]);
}
double get_deposit_interest_5year(double money, int option) {
double p = 0;
switch (option) {
case 1: {
// 一次存5年
p = get_deposit_interest_by_year(money, 5);
break;
case 2: {
// 先存2年期,到期后将本息再存3年期
double tmp_money = get_deposit_interest_by_year(money, 2);
p = get_deposit_interest_by_year(tmp_money, 3);
case 3: {
// 先存3年期,到期后将本息再存2年期
double tmp_money = get_deposit_interest_by_year(money, 3);
p = get_deposit_interest_by_year(tmp_money, 2);
case 4: {
// 存1年期,到期后将本息再存1年期,连续存5次
double tmp_money = money;
for (int i = 0; i < 5; ++i) {
tmp_money = get_deposit_interest_by_year(tmp_money, 1);
p = tmp_money;
case 5: {
// 存活期存款,活期利息每一季度结算一次
p = money * pow((1 + interest[0] / 4), 4 * 5);
default: {
printf("操作不存在");
return p;
int main() {
printf("一次存5年: %lf\n", get_deposit_interest_5year(1000, 1));
printf("先存2年期,到期后将本息再存3年期: %lf\n", get_deposit_interest_5year(1000, 2));
printf("先存3年期,到期后将本息再存2年期: %lf\n", get_deposit_interest_5year(1000, 3));
printf("存1年期,到期后将本息再存1年期,连续存5次: %lf\n", get_deposit_interest_5year(1000, 4));
printf("存活期存款,活期利息每一季度结算一次: %lf\n", get_deposit_interest_5year(1000, 5));
return 0;
#include <stdio.h> #include "math.h" // 各种存款方式的利率 double interest[5] = {0.0035, 0.015, 0.021, 0.0275, 0.03}; double get_deposit_interest_by_year(double money, int year) { int index = year < 5 ? year : year - 1; return money * (1 + year * interest[index]); } double get_deposit_interest_5year(double money, int option) { double p = 0; switch (option) { case 1: { // 一次存5年 p = get_deposit_interest_by_year(money, 5); break; } case 2: { // 先存2年期,到期后将本息再存3年期 double tmp_money = get_deposit_interest_by_year(money, 2); p = get_deposit_interest_by_year(tmp_money, 3); break; } case 3: { // 先存3年期,到期后将本息再存2年期 double tmp_money = get_deposit_interest_by_year(money, 3); p = get_deposit_interest_by_year(tmp_money, 2); break; } case 4: { // 存1年期,到期后将本息再存1年期,连续存5次 double tmp_money = money; for (int i = 0; i < 5; ++i) { tmp_money = get_deposit_interest_by_year(tmp_money, 1); } p = tmp_money; break; } case 5: { // 存活期存款,活期利息每一季度结算一次 p = money * pow((1 + interest[0] / 4), 4 * 5); break; } default: { printf("操作不存在"); } } return p; } int main() { printf("一次存5年: %lf\n", get_deposit_interest_5year(1000, 1)); printf("先存2年期,到期后将本息再存3年期: %lf\n", get_deposit_interest_5year(1000, 2)); printf("先存3年期,到期后将本息再存2年期: %lf\n", get_deposit_interest_5year(1000, 3)); printf("存1年期,到期后将本息再存1年期,连续存5次: %lf\n", get_deposit_interest_5year(1000, 4)); printf("存活期存款,活期利息每一季度结算一次: %lf\n", get_deposit_interest_5year(1000, 5)); return 0; }
理解题意很关键,...
用户登录可进行刷题及查看答案
理解题意很关键,其次就是利用数学库math中pow函数进行幂次方计算
#include<stdio.h> #include <math.h> int main() { float r5, r3, r2, r1, r0, p, p1, p2, p3, p4, p5; p = 1000; r5 = 0.0585; r3 = 0.054; r2 = 0.0468; r1 = 0.0414; r0 = 0.0072; p1 = p*((1 + r5) * 5); // 一次存5年期 p2 = p*(1 + 2 * r2)*(1 + 3 * r3); // 先存2年期,到期后将本息再存3年期 p3 = p*(1 + 3 * r3)*(1 + 2 * r2); // 先存3年期,到期后将本息再存2年期 p4 = p*pow(1 + r1, 5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5 = p*pow(1 + r0 / 4, 4 * 5); // 存活期存款。活期利息每一季度结算一次 printf("p1=%f\n", p1); // 输出按第1方案得到的本息和 printf("p2=%f\n", p2); // 输出按第2方案得到的本息和 printf("p3=%f\n", p3); // 输出按第3方案得到的本息和 printf("p4=%f\n", p4); // 输出按第4方案得到的本息和 printf("p5=%f\n", p5); // 输出按第5方案得到的本息和 return 0; }
登录后提交答案