本关任务:假设你在银行借了 n 元,银行收取(年化)利息r,如果每个月固定还款 m 元,请显示前3个月每次还款后的账户余额(保留两位小数)。编写c程序,由用户输入 n,r,m,完成上述任务。
时间: 2024-11-04 22:18:19 浏览: 17
在C语言中,你可以通过循环结构和简单的数学计算来解决这个问题。首先,你需要创建一个函数来计算每月还款后剩余的本金,然后在主函数中接收用户的输入并依次打印出每个月的余额。以下是大致的步骤和一个简单的C程序示例:
```c
#include <stdio.h>
// 函数定义,计算每月还款后的余额
double calculate_balance(double principal, double interest_rate, double monthly_payment, int months) {
double balance = principal;
for (int i = 0; i < months; i++) {
// 计算利息
double interest = balance * interest_rate / 12;
// 还款减去利息
balance -= monthly_payment - interest;
// 保留两位小数
balance = round(balance * 100) / 100;
return balance;
}
}
int main() {
double loan_amount, annual_interest_rate, monthly_repayment;
printf("请输入贷款金额(n): ");
scanf("%lf", &loan_amount);
printf("请输入年利率(r)(百分比形式): ");
scanf("%lf", &annual_interest_rate);
annual_interest_rate /= 100; // 将百分比转换为小数
printf("请输入每月还款额(m): ");
scanf("%lf", &monthly_repayment);
int months_to_pay = 3; // 假设只支付3个月
double balance_first_month = calculate_balance(loan_amount, annual_interest_rate, monthly_repayment, months_to_pay);
double balance_second_month = calculate_balance(balance_first_month, annual_interest_rate, monthly_repayment, months_to_pay - 1);
double balance_third_month = calculate_balance(balance_second_month, annual_interest_rate, monthly_repayment, months_to_pay - 2);
printf("第1个月余额: %.2f\n", balance_first_month);
printf("第2个月余额: %.2f\n", balance_second_month);
printf("第3个月余额: %.2f\n", balance_third_month);
return 0;
}
```
阅读全文