银行提供两种 5 年定期存款方式: 一年期方式:年利率 10%, 每年到期后, 自动将本年度的利息加入本金中; 五年期方式:年利率 11%, 五年后本金和利息一起归还储户。 c++编写程序,分别以两种方式存入 100 万,输出五年后各得多少?
时间: 2024-09-30 18:06:30 浏览: 64
在C++中,我们可以创建两个循环来模拟这两种存款方式。这里假设银行利息按复利计算,每年都会将上一年的利息加到本金上。
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 定义复利计算函数
double compound_interest(double principal, double rate, int years) {
double interest = principal * pow(1 + rate / 100.0, years);
return interest;
}
int main() {
const double initial_amount = 1000000.0; // 初始本金100万
const double annual_rate_1_year = 10.0; // 一年期利率10%
const double annual_rate_5_years = 11.0; // 五年期利率11%
// 一年期复利计算
vector<double> annual_balances_1_year;
double balance_1_year = initial_amount;
for (int i = 1; i <= 5; ++i) {
balance_1_year += compound_interest(balance_1_year, annual_rate_1_year, 1); // 每年计息
annual_balances_1_year.push_back(balance_1_year);
}
// 输出一年期最后的总金额
cout << "一年期存款五年后的总金额: " << annual_balances_1_year.back() << endl;
// 五年期直接计算
double final_balance_5_years = compound_interest(initial_amount, annual_rate_5_years, 5);
// 输出五年期最终的总金额
cout << "五年期存款五年的总金额: " << final_balance_5_years << endl;
return 0;
}
阅读全文