鱼C论坛

 找回密码
 立即注册
查看: 4561|回复: 2

跪求编写以下这个程序,有注解最好,谢谢

[复制链接]
发表于 2013-3-24 15:33:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
跪求编写以下这个程序,有注解最好,谢谢!购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还的清。

设d=300000元,p=6000元,r为1%。对求得的月份取小数点后一位,对第2位按四舍五入处理。计算公式为:
m=(logp-log(p-dxr))/log(1+r)

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-24 19:39:35 | 显示全部楼层
  1. /*
  2. 跪求编写以下这个程序,有注解最好,谢谢!购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,
  3. 计算多少月能还的清。
  4. 设d=300000元,p=6000元,r为1%。对求得的月份取小数点后一位,对第2位按四舍五入处理。计算公式为:
  5. m=(logp-log(p-dxr))/log(1+r)
  6. */

  7. #include <stdio.h>
  8. #include <math.h>
  9. #include <assert.h>

  10. //根据公式计算
  11. double how_many_month( double toatal_owned, double pay_per_mobth, double month_rate );
  12. //取小数点后一位,对第2位按四舍五入处理。
  13. double deal_result( double month );
  14. //显示
  15. void display( double month );

  16. int main() {
  17.         double month = how_many_month( 300000, 6000, 0.01 );
  18.         month = deal_result( month );
  19.         display( month );
  20. }

  21. double how_many_month( double toatal_owned, double pay_per_mobth, double month_rate ) {
  22.         return (log10( pay_per_mobth ) - log10( pay_per_mobth - toatal_owned*month_rate ))/log10( 1+month_rate ) ;
  23. }

  24. double deal_result( double month ) {
  25.         assert( month>0 );
  26.         return (int)((month * 10) + 0.5)/10.0;
  27. }

  28. void display( double month ) {
  29.         printf( "%.1lf\n",month );
  30. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-25 10:16:06 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-5 05:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表