C语言典型例题30

news2024/9/22 15:47:36

《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函数用于将一个浮点数四舍五入到最近的整数。这在处理需要按照特定小数位(如一位小数)的结果时非常有用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1994116.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习与NLP】——RNN架构解析

目录 RNN架构解析 1.1 认识RNN模型 学习目标 什么是RNN模型 RNN模型的作用 RNN模型的分类 小节总结 1.2 传统RNN模型 学习目标 传统RNN的内部结构图 小节总结 RNN架构解析 1.1 认识RNN模型 学习目标 了解什么是RNN模型.了解RNN模型的作用.了解RNN模型的分类. 什么…

如何使用Jmeter对HTTP接口进行压力测试?

我们不应该仅仅局限于某一种工具&#xff0c;性能测试能使用的工具非常多&#xff0c;选择适合的就是最好的。笔者已经使用Loadrunner进行多年的项目性能测试实战经验&#xff0c;也算略有小成&#xff0c;任何性能测试&#xff08;如压力测试、负载测试、疲劳强度测试等&#…

openai gym box space configuration

题意&#xff1a;在OpenAI Gym环境中配置一个“Box”空间 问题背景&#xff1a; I need an observation space ranging from [0,inf) 我需要一个观察空间&#xff0c;其范围是从 [0, ∞)&#xff08;0到正无穷大&#xff09; Im new to openai gym, and not sure what the fo…

【算法】最短路径算法思路小结

一、基础&#xff1a;二叉树的遍历->图的遍历 提到搜索算法&#xff0c;就不得不说两个最基础的思想&#xff1a; BFS&#xff08;Breadth First Search&#xff09;广度优先搜索 DFS&#xff08;Depth First Search&#xff09;深度优先搜索 刚开始是在二叉树遍历中接触这…

为什么企业需要安装加密软件

保护敏感数据&#xff1a; 企业通常拥有大量的敏感数据&#xff0c;如客户信息、财务数据、知识产权等。这些数据如果未经保护而被泄露&#xff0c;可能会对企业造成严重的经济损失和声誉损害。加密软件能够对这些敏感数据进行加密&#xff0c;即使数据被窃取&#xff0c;也无…

AI 时代,网关更能打了?

作者&#xff1a;澄潭、望宸 网关在网络通信中扮演着诸多角色&#xff0c;包括数据转发、协议转化、负载均衡、访问控制和身份验证、安全防护、内容审核&#xff0c;以及服务和 API 颗粒度的管控等&#xff0c;因此常见的网关种类有流量网关、安全网关、微服务网关、API 网关等…

73.游戏分析工具的添加对象与删除对象

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易道云信息技术研究院 上一个内容&#xff1a;72.树形列表绑定对应的右键菜单 以它的代码为基础进行修改 删除对象在 CwndRAN 文件中…

猎码安卓APP开发IDE,amix STUDIO中文java,HTML5开发工具

【无爱也能发电】Xili 2024/8/2 10:41:20 猎码安卓APP开发IDE,amix java开发工具 我研发这些只有一小部分理由是为了赚钱&#xff0c;更多是想成就牛逼的技术产品。 目前的产品就够我赚钱的&#xff0c;我持续更新就好了&#xff0c;没必要继续研究。 IDE不赚钱&#xff0c;谁…

【Redis进阶】缓存应用

目录 缓存击穿 概念 缓存击穿的原因 缓存击穿的影响 缓存击穿的应对措施 设置分布式锁 提前更新缓存 请求分级和降级 缓存穿透 概念 缓存穿透的原因 缓存穿透的应对措施 缓存空值 布隆过滤器 限流和黑名单 缓存雪崩 缓存雪崩概念 缓存雪崩的原因 应对措施 缓…

gogs的安装和使用(docker)

1.docker安装gogs 1.1 拉取gogs镜像 docker pull gogs/gogs #也可改为自己需要的版本号 1.2 创建存储目录 mkdir /root/gogs 1.3 运行镜像 docker run --namegogs -d -p 10022:22 -p 13000:3000 -v /root/gogs:/data gogs/gogs 1.3.1 指令解析 --namegogs: 指定名称…

力扣刷题-轮转数组

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 首先&#xff0c;我们现在这里提供的是一种特别简单的思路&#xff0c;我们先来看一下这段代码&#xff1a; void rotate(int* nums, int numsSize, int k) {k%numsSize;int n…

深入了解核函数:连接机器学习与统计学的桥梁

引言 在机器学习中&#xff0c;支持向量机&#xff08;SVM&#xff09;是一种强大的监督学习模型&#xff0c;特别适合处理分类问题。然而&#xff0c;SVM最初被设计用于线性可分的数据集&#xff0c;现实中的数据往往不是线性可分的。为了解决这一问题&#xff0c;我们引入了…

第十一届MathorCup高校数学建模挑战赛-C题:基于有限差分法的散热机理建模与海底数据中心优化设计

目录 摘 要 1 问题重述 1.1 问题背景 1.2 问题重述 2 问题分析 3 模型假设 4 符号说明 5 我们的工作 6 模型的建立与求解 6.1 建模前的准备 6.2 问题一的建模与求解 6.3 问题二的建模与求解 6.4 问题三的建模与求解 6.5 问题四的建模与解决 7 结果检验及误差分析 8 模型评价 9 …

[Modbus] Modbus协议开发-基本概念(一)

历史 ModBus官网是Modicon&#xff08;Modicon早年已被施耐德收购&#xff09;公司为其PLC通讯而开发的一种通讯协议。 概述 通过Modbus协议&#xff0c;控制器之间、或控制器经由网络&#xff08;如以太网&#xff09;可以和其它设备之间进行通信。 优点 免费、好用、成熟…

springboot项目搭建集成 redis/跨域/远程请求

目录 一&#xff0c;创建maven项目 1&#xff0c;左上角file > new > maven project 2&#xff0c;next 到 创建 Group id 和 Artifact id​编辑​编辑 二&#xff0c;配置springboot 1&#xff0c;配置pom文件&#xff0c; 2&#xff0c;创建启动类 3&#xff…

五段式S型算法笔记

设定已知&#xff1a;v0 vmax j&#xff1b; 减加速段&#xff1a;tm到tmax 加加速段&#xff1a;0到tm tm&#xff1a;中点时间 vm&#xff1a;中点速度 vmax&#xff1a;最大速度&#xff1b; j加速度的斜率 -j相反加速度的斜率 这个图首先说明&#xff…

大数据面试SQL(六):共同使用ip用户检测问题

文章目录 共同使用ip用户检测问题 一、题目 二、分析 三、SQL实战 四、样例数据参考 共同使用ip用户检测问题 一、题目 现有用户登录日志表&#xff0c;记录了每个用户登录的IP地址&#xff0c;请查询共同使用过3个及以上IP的用户对。 样例数据&#xff1a; 结果数据&…

NSSCTF练习记录:[SWPUCTF 2021 新生赛]jicao

题目&#xff1a; 这段PHP代码的意思是&#xff1a; 对index.php文件进行语法高亮显示&#xff0c;插入flag.php文件&#xff0c;变量id的值为POST传递的值&#xff0c;变量json的值为GET传递的json类型的值。当id值为wllmNB且json中含有键为“x”&#xff0c;值为“wllm”的时…

【Android】安卓四大组件之Service用法

文章目录 使用Handler更新UIService基本特点启动方式非绑定式服务使用步骤 绑定式服务步骤 生命周期非绑定式启动阶段结束阶段 绑定式启动阶段结束阶段 前台Service使用步骤结束结束Service本身降级为普通Service降级为普通Service 使用Handler更新UI 主线程创建Handler对象&a…

文件描述符中设置FD_CLOEXEC的用处

linux中&#xff0c;父进程fork出子进程&#xff0c;子进程本身会继承父进程的所有文件描述符。若子进程再调用exec系列函数转化为新的进程实体&#xff0c;其实父进程的描述符对其没有意义。此时文件上只需要设置FD_CLOEXEC即可。 下面是例子说明&#xff1a; #include <…