python中保留两位小数的编写程序_P081 保留两位小数
所属年份:2011.3;2011.9
请编一个函数 float fun(double h),该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如,若h 值为1234.567,则函数返回1234.570000;若h值为 1234.564,则函数返回1234.560000。
#include
#include
#include
float fun (float h )
{
}
void main()
{
FILE *wf;
float a;
system("CLS");
printf("Enter a: ");
scanf ("%f",&a);
printf("The original data is : ");
printf("%f\n\n", a);
printf("The result : %f\n", fun(a));
/******************************/
wf=fopen("out.dat","w");
fprintf(wf,"%f",fun(8.32533));
fclose(wf);
/*****************************/
}
【解题思路】
注意:本题要求h的值真正进行四舍五入运算,而不是为了输出,即不能用printf(“%7.2f”,h)来直接得到结果。
四舍五入算法:如果要求精确到小数点后面的第n位,则需要对第n+1位进行运算。方法是将该小数乘以10的n+1次方后加5,然后除以10并强制转换变量类型为长整型,再将该数除以10的n次方,同时强制转换类型为浮点型。
代码实现如下:
long t; /*定义长整型变量t*/
t=(h*10n+1+5)/10; /*对h进行操作,得到值浮点型,t取值时取整数部分。10n+1为要扩大的倍数*/
h=(float)t/10n; /*将t缩小10n倍,并转换成浮点型*/
【参考答案】
float fun (float h )
{
long t;
t=(h*1000+5)/10; /*单精度数h乘以1000后再加5,相当于对h中的第三位小数进行四舍五入
除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/
return (float)t/100; /*除以100,保留2位小数*/
}
python中保留两位小数的编写程序_P081 保留两位小数相关推荐
- matlab矩阵指定行最大值,求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.*...
导航:网站首页 > 求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.* 求Matlab程序:在2行矩阵中,如何求 ...
- Python 假设有列表 a=[‘name’,’age’,’sex’]和b=[‘Dog’,38,’Male’],请编写程序将这两个列表的内容转换为字典
假设有列表 a=['name','age','sex']和b=['Dog',38,'Male'],请编写程序将这两个列表的内容转换为字典,并且以列表a中的元素为"键",以列表b中的 ...
- 本题要求编写程序,计算两个二维平面向量的和向量。
本题要求编写程序,计算两个二维平面向量的和向量. 输入格式: 输入在一行中按照"x1 y1 x2 y2"的格式给出两个二维平面向量v1=(x1,y1)和v2=(x2 ...
- Java黑皮书课后题第5章:*5.9(找出得最高分的前两个学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生
*5.9(找出得最高分的前两个学生)编写程序,提示用户输入学生的个数.每个学生名字及分数,最后显示获得最高分的学生名字.次高分的学生名字 题目 题目概述 next()读取一个字符与nextLine() ...
- 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=13+53+33. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给出一个正整数N(3 ...
- 本题要求编写程序,计算两个有理数的和
本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出格式: 在一行中按照a/b的格式输 ...
- Java黑皮书课后题第7章:*7.22(计算一个字符串中大写字母的数目)编写程序,从命令行输入一个字符串,然后显示字符串中大写字母的数目
7.22(计算一个字符串中大写字母的数目)编写程序,从命令行输入一个字符串,然后显示字符串中大写字母的数目 题目 题目描述 破题 代码 运行实例 题目 题目描述 7.22(计算一个字符串中大写字母的数 ...
- Java黑皮书课后题第3章:**3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断圆是在第一个圆内,还是和第一个圆重叠
**3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断圆是在第一个圆内,还是和第一个圆重叠 题目 题目概述 运行示例 代码 题目 题目概述 **3.29(几何:两个 ...
- C语言试题六十二之请编写函数fun除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串第一个字母,形参p已指向字符串中最后一个字母。在编写程序时,不得使用c语言提供的字符串函数。
1. 题目 请编写函数fun除了字符串前导和尾部的*号之外,将串中其他*号全部删除.形参h已指向字符串第一个字母,形参p已指向字符串中最后一个字母.在编写程序时,不得使用c语言提供的字符串函数. 比如 ...
最新文章
- Windows下使用Visual Studio自带的MSVC,命令行编译C/C++程序
- 给Oracle表空间Tablespace扩展库文件
- 步进电机正反转实验_电工基础:帮你学会电机正反转双重互锁控制
- 在数据库什么是主键与外键
- MySQL之某个表中有近千万数据且CRUD访问缓慢的优化处理
- 2017.12.18
- 优秀的代码原来是这样分层的
- C# ArrayList 与 string、string[] 的转换
- Web前端笔记-浏览器控制台调用js函数及vue函数
- TensorFlow2.0(七)--基础API使用
- Java私塾的一些基础练习题(一)
- qml 不刷新 放大还原_【显示器选择详解】你的电脑能否带动高分辨率,高刷新率显示器?...
- 桌面版docker操作_10分钟快速掌握Docker必备基础知识
- 模型相关:SolidWorks创建Cube模型,在3DMax中给不同面添加不同颜色,导出自带纹理的FBX至Unity
- 给MM修电脑的三个步骤
- HelloMybatis
- 309.最佳买卖股票时机含冷冻期
- android 技能 英文,讯飞输入法Android7.0.4050搭载音标输入神技能
- 用计算机和手算标准差不一致,计量师基础知识教案二第三章.ppt
- 连表时数据量翻倍问题
热门文章
- 企业微信怎么删除好友 企业微信如何删除成员
- 风林火山最新系统win11 32位旗舰版v2021.07
- 如何管理QQ浏览器的扩展工具 QQ浏览器扩展工具的管理方法
- 柱形图无数据可选中_Excel – 如何制作出上下层排列的柱形图?
- 是否有必要使用外键?为什么不用外键?
- 新版Elemen Plus 国际化 1.0.2-beta.59(包含59)
- Java最后_Java最后一次总结
- ladder怎么读_ladder 是什么意思_ladder 的翻译_音标_读音_用法_例句_爱词霸在线词典...
- appnode php,环境软件路径参考
- oracle数据库read only,oracle 报错Linux-x86_64 Error: 30: Read-only file system