电阻组合c语言程序,【C语言及程序设计】项目1-4-2-2:计算并联电阻
1 /*并联电阻值.cpp:2 问题描述:编程序,输入两个电阻R1和R2的阻值,求它们并联后的阻值R。提示:计算公式为r=1/(1/r1+1/r2));电阻值为浮点数3 */
4
5 #include "stdafx.h"
6 #include
7 using namespacestd;8
9
10 intmain()11 {12 intR1, R2, Ro;13
14 printf("Input the value of the paralleled resistor R1 and R2");15 scanf_s("%d %d", &R1, &R2);16
17 Ro = (float)(1 / (1.0 / R1 + 1.0 /R2));18
19 cout <
21
22 return 0;23 }
感想:
这题对于初学者而言,看似再简单不过,但实际暗藏杀机。“杀机”在于上方code中,17行中的隐性/自动数据类型转换(“隐性转换”)
Ro = (float)(1 / (1.0 / R1 + 1.0 / R2));
项目1-4-2-4中也提到了这个问题:隐性转换时发生的数据丢失(但为什么分配更大的存储单元会丢失?)
C语言支持不同数据类型的value/variable间的相互运算,每运算一次,都会发生隐性转换,而这种运算就是通过隐性转换得以实现的,其规则为
例如
1+2的结果,仍然是int型;
3.28+3.24e5的结果,仍然是double型;
这个规则要用,每次定义变量都需要给定的 数据类型 的本质,加以理解:
一个变量,在内存中占据一定的存储单元;
通过变量名,找到对应的存储单元,从而操作变量的值。
也就是说,定义数据类型/给定变量名,实质是数据类型与存储空间之间的映射(规则),如下图:
可见,隐性转换的规则是,给每次计算的输出值分配更大的储存空间。
除此以外,float型数据和任何整型数据运算,都会转化成double型后再进行。
但是有意思的是,
Ro = (float)(1 / (1.0 / R1 + 1.0 / R2));
其中 = 运算,也发生了数据类型转换:将float类型的数值,赋给int类型的变量,最终输出的数据类型依然是int类型。最初给定的类型统辖着最终结果。
=
电阻组合c语言程序,【C语言及程序设计】项目1-4-2-2:计算并联电阻相关推荐
- 信息学奥赛一本通 1015:计算并联电阻的阻值 | OpenJudge NOI 1.3 10
[题目链接] ybt 1015:计算并联电阻的阻值 OpenJudge NOI 1.3 10:计算并联电阻的阻值 [题目补充] OpenJudge中该题有提示,只能用float声明变量.如用doubl ...
- 信息学奥赛一本通(1015:计算并联电阻的阻值)
1015:计算并联电阻的阻值 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 46224 通过数: 36906 [题目描述] 对于阻值为 r1r1 和 r2 ...
- 【1015】计算并联电阻的电阻
1015:计算并联电阻的阻值 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 53034 通过数: 42494 [题目描述] 对于阻值为 r1和 r2的电阻 ...
- openjudge 1.3.10 计算并联电阻的阻值
OpenJudge - 10:计算并联电阻的阻值 解题思路: 1.定义两个double类型的变量,r1和r2,并输入 2.定义double类型变量r根据公式计算阻值 3.保留两位小数输出 #inclu ...
- PTA 7-8 计算并联电阻的阻值
对于阻值为r1和r2的电阻,其并联电阻阻值公式计算如下: R = 1/(1/r1 + 1/r2),编程计算并联电阻的阻值. 输入格式: 两个电阻阻值大小,实数,以一个空格分开. 输出格式: 并联之后的 ...
- 一本通1015:计算并联电阻的阻值
1015:计算并联电阻的阻值 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 50385 通过数: 40304 [题目描述] 对于阻值为 r1r1 和 r2 ...
- 【信息学奥赛】1015:计算并联电阻的阻值(C++)
今天来让我们来继续分析信息学奥赛一本通的第二十四题,也就是按照题目的要求计算与圆有关的题.(这里变啦!因为我发现我的文章虽然有很多人看,但却没有点赞,所以从现在,我规定,点赞超过4个,我立马更新下一期 ...
- 1-3 5-7的c语言程序,C语言求1-1/3+1/5-1/7+...——小程序,大道理
问题:用C语言编写程序求1-1/3+1/5-1/7+... 示例: #include void main(){ int n=; float sum=,a=; while(a<=){ sum=su ...
- 我的世界c语言程序,C语言基本知识
软件是将一组程序组织起来 每个程序由一组指令组成 数据结构+算法 数据结构 在程序中要指定数据的类型和数据的组织形式. 算法(程序的灵魂) 就是为了解决实际问题而提出的具体方法与步骤. 算法的特点 有 ...
- 棱形旋转c语言程序_C 语言时隔 5 年重回巅峰,这 20 个热门项目拿去练手!
在上个月的 TIOBE 编程语言排名中,C 语言和 Java 的差距只有 0.01%.在近日 TIOBE 公布的 2020 年 5 月编程语言排行榜中,C 语言成功超越了 Java,重返第一的王者宝座 ...
最新文章
- 对于数据库连接池的一些思考和MyBatis的集成与使用
- 电脑打印机共享,打印机共享
- 关于Spring 中的PortletModeHandlerMapping
- Hexo博客主题之hexo-theme-matery的安装命令整理
- HDU2193-AVL-数据结构-AVL
- ArcEngine一些代码实现(转载)
- openglshader实现虚拟场景_虚拟演播室设计原则
- 获取当前 服务 路径 .net
- 反向输出一个四位数c语言程序,将一个四位数反向输出
- Android Studio 设置代码提示和代码自动补全快捷键
- python中 tolist_python 列表,数组,矩阵两两转换tolist()的实例
- oracle plsql 字符串长度,PLSQL SQL
- java jdk 9 64位下载地址_jdk9.0官方下载|jdk9 64位下载官方正式版 1.9 - 系统天堂
- Github视频教程-黄棒清-专题视频课程
- 【面试题】单链表的操作1
- 自然语言处理概述 NLP基本流程
- windows系统统不支持mysql_Windows系统下MySQL无法启动的万能解决方法
- 20189320《网络攻防》第二周作业
- 利用Exchange服务同步iOS和android中的联系人
- ALTAS,LAPACK, SCALAPACK, MUMPS记录