当前位置: 首页 > news >正文

C语言典型例题30

《C程序设计教程(第四版)——谭浩强》


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

提示:设环球的月数为m,则m=[logp-log(p-d*r)]/log(1+r)=log(p/(p-d*r))/log(1+r),log(p)表示以10为底p的对数



代码:

//《C程序设计教程(第四版)——谭浩强》
//习题2.7 从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少个月能还清。
//设d=30000元,p=6000元,r=1%。对求得的月份取小数点后一位,对第二位按四舍五入处理//提示:设环球的月数为m,则m=[logp-log(p-d*r)]/log(1+r)=log(p/(p-d*r))/log(1+r),log(p)表示以10为底p的对数#include <stdio.h>
#include <math.h>int main()
{float d;//贷款数float p;//每月还款数float r;//月利率float m;//【计算】:还钱的月数printf("请输入贷款总数:\n");scanf("%f",&d);printf("请输入每月还款额:\n");scanf("%f",&p);printf("请输入月利率:\n");scanf("%f",&r);// 检查输入的合理性(月份不能为负数)if (p <= d * r) {printf("每月还款额必须大于贷款利息!\n");return 1; // 返回错误代码}m=log10(p/(p-d*r))/log10(1+r);printf("还需要%.1f才可以还清\n",round(m*10)/10);//四舍五入的实现return 0;
}

运行结果:


代码运行过程中遇到的问题:

(1)在C语言中,‌要计算以10为底的对数,‌需要使用log10()函数,‌而不是log()函数。‌

log10()函数是C标准库中的一个函数,‌用于计算以10为底的对数。‌

这个函数的原型是double log10(double x),‌它返回参数x以10为底的对数值。‌

在使用这个函数之前,‌需要包含math.h头文件,‌因为log10()函数定义在这个头文件中。‌

注释:log()函数是用于计算以e为底的对数

怎么使用log10函数?

下面是一个简单的示例代码,‌展示了如何使用log10()函数来计算一个数的以10为底的对数:‌

#include <stdio.h>
#include <math.h> 
int main() 
{double num = 100.0; // 可以替换为任何正数double logValue = log10(num); printf("The log10 of %f is %f\n", num, logValue); return 0; 
}

(2)怎么实现四舍五入?

在C语言中,round函数用于将一个浮点数四舍五入到最近的整数。这在处理需要按照特定小数位(如一位小数)的结果时非常有用。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Vue 3 中,组件间传值有多种方式
  • 【知识】pytorch中的pinned memory和pageable memory
  • Android Fragment:详解,结合真实开发场景Navigation
  • Java开发笔记--通用基础数据校验的设计
  • 思科CCIE最新考证流程
  • 工业三防平板助力MES系统打造工厂移动式生产管理
  • 视频编辑与制作软件哪个好 会声会影视频制作教程 会声会影软件下载免费中文版
  • 结构开发笔记(二):solidworks软件(一):介绍、下载和安装过程
  • JVM内存模型笔记
  • Print 前端打印 (调用 windows 自带打印功能,打印指定 dom 元素内容)
  • 【机器学习算法基础】(基础机器学习课程)-11-k-means-笔记
  • 3.OpenFeign与负载均衡
  • “碳”为观止,奥运会也“卷”起来了
  • 虚拟电厂,GPS北斗卫星同步时钟守护智慧能源
  • API 接口设计原则:RESTful 与 GraphQL
  • 【面试系列】之二:关于js原型
  • Android系统模拟器绘制实现概述
  • HTML中设置input等文本框为不可操作
  • interface和setter,getter
  • iOS 系统授权开发
  • Java IO学习笔记一
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • miaov-React 最佳入门
  • orm2 中文文档 3.1 模型属性
  • spring security oauth2 password授权模式
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • XML已死 ?
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 大型网站性能监测、分析与优化常见问题QA
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 前端面试之CSS3新特性
  • 微信开源mars源码分析1—上层samples分析
  • 新版博客前端前瞻
  • ​iOS安全加固方法及实现
  • #if和#ifdef区别
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (七)Flink Watermark
  • (七)理解angular中的module和injector,即依赖注入
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (算法二)滑动窗口
  • (一) springboot详细介绍
  • (一)RocketMQ初步认识
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET IoC 容器(三)Autofac
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net 设置默认首页
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .Net插件开发开源框架
  • .NET开发人员必知的八个网站
  • .net快速开发框架源码分享
  • /proc/stat文件详解(翻译)
  • @ModelAttribute 注解