所属年份: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 保留两位小数相关推荐

  1. matlab矩阵指定行最大值,求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.*...

    导航:网站首页 > 求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.* 求Matlab程序:在2行矩阵中,如何求 ...

  2. Python 假设有列表 a=[‘name’,’age’,’sex’]和b=[‘Dog’,38,’Male’],请编写程序将这两个列表的内容转换为字典

    假设有列表 a=['name','age','sex']和b=['Dog',38,'Male'],请编写程序将这两个列表的内容转换为字典,并且以列表a中的元素为"键",以列表b中的 ...

  3. 本题要求编写程序,计算两个二维平面向量的和向量。

    本题要求编写程序,计算两个二维平面向量的和向量. 输入格式: 输入在一行中按照"x1​ y1​ x2​ y2​"的格式给出两个二维平面向量v1​=(x1​,y1​)和v2​=(x2 ...

  4. Java黑皮书课后题第5章:*5.9(找出得最高分的前两个学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生

    *5.9(找出得最高分的前两个学生)编写程序,提示用户输入学生的个数.每个学生名字及分数,最后显示获得最高分的学生名字.次高分的学生名字 题目 题目概述 next()读取一个字符与nextLine() ...

  5. 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。

    水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=13+53+33. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给出一个正整数N(3 ...

  6. 本题要求编写程序,计算两个有理数的和

    本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出格式: 在一行中按照a/b的格式输 ...

  7. Java黑皮书课后题第7章:*7.22(计算一个字符串中大写字母的数目)编写程序,从命令行输入一个字符串,然后显示字符串中大写字母的数目

    7.22(计算一个字符串中大写字母的数目)编写程序,从命令行输入一个字符串,然后显示字符串中大写字母的数目 题目 题目描述 破题 代码 运行实例 题目 题目描述 7.22(计算一个字符串中大写字母的数 ...

  8. Java黑皮书课后题第3章:**3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断圆是在第一个圆内,还是和第一个圆重叠

    **3.29(几何:两个圆)编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断圆是在第一个圆内,还是和第一个圆重叠 题目 题目概述 运行示例 代码 题目 题目概述 **3.29(几何:两个 ...

  9. C语言试题六十二之请编写函数fun除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串第一个字母,形参p已指向字符串中最后一个字母。在编写程序时,不得使用c语言提供的字符串函数。

    1. 题目 请编写函数fun除了字符串前导和尾部的*号之外,将串中其他*号全部删除.形参h已指向字符串第一个字母,形参p已指向字符串中最后一个字母.在编写程序时,不得使用c语言提供的字符串函数. 比如 ...

最新文章

  1. Windows下使用Visual Studio自带的MSVC,命令行编译C/C++程序
  2. 给Oracle表空间Tablespace扩展库文件
  3. 步进电机正反转实验_电工基础:帮你学会电机正反转双重互锁控制
  4. 在数据库什么是主键与外键
  5. MySQL之某个表中有近千万数据且CRUD访问缓慢的优化处理
  6. 2017.12.18
  7. 优秀的代码原来是这样分层的
  8. C# ArrayList 与 string、string[] 的转换
  9. Web前端笔记-浏览器控制台调用js函数及vue函数
  10. TensorFlow2.0(七)--基础API使用
  11. Java私塾的一些基础练习题(一)
  12. qml 不刷新 放大还原_【显示器选择详解】你的电脑能否带动高分辨率,高刷新率显示器?...
  13. 桌面版docker操作_10分钟快速掌握Docker必备基础知识
  14. 模型相关:SolidWorks创建Cube模型,在3DMax中给不同面添加不同颜色,导出自带纹理的FBX至Unity
  15. 给MM修电脑的三个步骤
  16. HelloMybatis
  17. 309.最佳买卖股票时机含冷冻期
  18. android 技能 英文,讯飞输入法Android7.0.4050搭载音标输入神技能
  19. 用计算机和手算标准差不一致,计量师基础知识教案二第三章.ppt
  20. 连表时数据量翻倍问题

热门文章

  1. 企业微信怎么删除好友 企业微信如何删除成员
  2. 风林火山最新系统win11 32位旗舰版v2021.07
  3. 如何管理QQ浏览器的扩展工具 QQ浏览器扩展工具的管理方法
  4. 柱形图无数据可选中_Excel – 如何制作出上下层排列的柱形图?
  5. 是否有必要使用外键?为什么不用外键?
  6. 新版Elemen Plus 国际化 1.0.2-beta.59(包含59)
  7. Java最后_Java最后一次总结
  8. ladder怎么读_ladder 是什么意思_ladder 的翻译_音标_读音_用法_例句_爱词霸在线词典...
  9. appnode php,环境软件路径参考
  10. oracle数据库read only,oracle 报错Linux-x86_64 Error: 30: Read-only file system