用c语言,int,float,while银行存年定期,利息每年2%,每年底结息,利息归入第二年本金。要求输入存款年限,存款金额,输出每年底本息和。当本息和产生初始存款10%以上(含)的利息时,输出:已达预期收益。
时间: 2024-12-16 12:21:09 浏览: 12
在C语言中,你可以编写如下的程序来模拟银行存款的情况,包括年利率、复利计算以及达到预期收益的条件判断:
```c
#include <stdio.h>
// 定义存款相关函数
double calculate_annual_interest(double principal, double rate) {
return principal * rate;
}
double calculate_total_amount_after_year(double principal, double interest) {
return principal + interest;
}
double calculate_final_amount(int years, double principal, double rate) {
double total = principal;
for (int i = 1; i <= years; ++i) {
double interest = calculate_annual_interest(total, rate / 100); // 因为年利率是百分比形式,所以除以100
total = calculate_total_amount_after_year(total, interest);
if (total >= principal * 1.1) { // 初始存款10%以上的利息
printf("已达预期收益。\n");
break;
}
}
return total;
}
int main() {
int years;
double principal;
float rate;
printf("请输入存款年限(整数):");
scanf("%d", &years);
printf("请输入存款金额:");
scanf("%lf", &principal);
printf("请输入年利率(小数):");
scanf("%f", &rate);
double final_amount = calculate_final_amount(years, principal, rate);
printf("存款 %d 年后的总金额:%.2f\n", years, final_amount);
return 0;
}
```
在这个程序里,我们首先定义了几个辅助函数,如计算年利息和一年后总金额。然后在主函数中,用户会被提示输入存款年限、金额和利率,接着通过循环计算并累计每年底的本息和,直到达到预期的10%收益或者贷款期满。
阅读全文