霸州做网站1766534168,WordPress全局屏蔽谷歌,郑州家居网站建设,企网官方网站所属年份#xff1a;2011.3;2011.9请编一个函数 float fun(double h)#xff0c;该函数的功能是#xff1a;使变量h中的值保留两位小数#xff0c;并对第三位进行四舍五入(规定h中的值为正数)。例如#xff0c;若h 值为1234.567#xff0c;则函数返回1234.570000#xf…所属年份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));/******************************/wffopen(out.dat,w);fprintf(wf,%f,fun(8.32533));fclose(wf);/*****************************/}【解题思路】注意本题要求h的值真正进行四舍五入运算而不是为了输出即不能用printf(“%7.2f”h)来直接得到结果。四舍五入算法如果要求精确到小数点后面的第n位则需要对第n1位进行运算。方法是将该小数乘以10的n1次方后加5然后除以10并强制转换变量类型为长整型再将该数除以10的n次方同时强制转换类型为浮点型。代码实现如下long t /*定义长整型变量t*/t(h*10n15)/10 /*对h进行操作得到值浮点型t取值时取整数部分。10n1为要扩大的倍数*/h(float)t/10n; /*将t缩小10n倍并转换成浮点型*/【参考答案】float fun (float h ){long t;t(h*10005)/10; /*单精度数h乘以1000后再加5相当于对h中的第三位小数进行四舍五入除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/return (float)t/100; /*除以100保留2位小数*/}