这是我的代码:
#include <stdio.h>
float calculateBalance(float payment, float balance, float rate);
int main(void){
float loanAmount, interestRate, monthlyPayment;
printf("Enter amount of loan:");
scanf("%.2f", &loanAmount);
printf("\nEnter interest rate:");
scanf("%.1f", &interestRate);
printf("\nEnter monthly payment:");
scanf("%.2f", &monthlyPayment);
loanAmount = calculateBalance(monthlyPayment, loanAmount, interestRate);
printf("Balance remaining after first payment: %.2f\n", loanAmount);
loanAmount = calculateBalance(monthlyPayment, loanAmount, interestRate);
printf("Balance remaining after second payment: %.2f\n", loanAmount);
loanAmount = calculateBalance(monthlyPayment, loanAmount, interestRate);
printf("Balance remaining after third payment: %.2f\n", loanAmount);
}
float calculateBalance(float payment, float balance, float rate){
return (balance-payment + balance*rate);
}
我正在尝试计算三笔付款后的余额;但是,当我尝试在终端中运行代码时,它不允许我输入任何内容,而只是读取随机数,然后计算三笔付款后的余额(我希望能够输入内容,但它不是允许我这样做)。我该如何解决这个问题?
最佳答案
问题出在 fmt 字符串本身。正如@T.C.在评论中说道
尝试使用
scanf("%f", &var);
相反。如果只有 2 个 dec 值,那么它只会读取该值。
关于c - 扫描仪不工作(C 代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23715347/