计算多少个月能还清贷款

购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少个月能还清。设d为300000元,p为6000元,r为1%。对求得的月份取小数点后一位,对第2位小数按四舍五入处理。还清月数的公式为

#include <stdio.h>
#include <math.h>

int main() {
    double d = 300000;  // 贷款金额
    double p = 6000;    // 每月还款额
    double r = 0.01;    // 月利率
    double m;           // 还款月数

    m = log10(p/(p-d*r))/log10(1+r);
    m = round(m*10)/10; // 取小数点后一位,四舍五入处理第二位

    printf("需要 %.1lf 个月才能还清贷款\n", m);

    return 0;
}