首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编—个函数flat fun(double h),该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。 例如,若h值为1234.567,则函数返回1234.570000;若h值为1234.564,则函数返回1234.5
请编—个函数flat fun(double h),该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。 例如,若h值为1234.567,则函数返回1234.570000;若h值为1234.564,则函数返回1234.5
admin
2020-07-28
28
问题
请编—个函数flat fun(double h),该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如,若h值为1234.567,则函数返回1234.570000;若h值为1234.564,则函数返回1234.560000。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
1 #include<stdio.h>
2 #include<conio.h>
3 #include<stdlib.h>
4 float fun(float h)
5 {
6
7 }
8 void main()
9 {
10 FILE*wf;
11 float a;
12 system("CLS");
13 printf("Enter a:");
14 scanf("%f",&a);
15 printf("The original data is:");
16 printf("%f\n\n",a);
17 printf("The result:%f\n",fun(a));
18 /******************/
19 wf=fopen("out.dat","W");
20 fprintf(wf,"%f",fun(8.32533));
21 fclose(wf);
22 /******************/
23 }
选项
答案
float fun(float h) { int tmp= (int) (h*1000 +5)/10; /*单精度数h乘以1000后再加5,相当于对h中的第三位小数进行四舍五入,除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/ return(float)tmp/100.0; /*除以100,保留2位小数*/ }
解析
注意:本题要求对h的值真正进行四舍五人运算,而不是为了输出,即不能用prinff("%7.2f",h)来直接得到结果。四舍五入算法:如果要求精确到小数点后面的第n位,则需要对第n+1位进行运算。方法是将该小数乘以10的n+1次方后加5,然后除以10并强制转换变量类型为整型,再将该数除以10的n次方,同时强制转换类型为浮点型。
代码实现如下:
int t;/*定义整型变量t*/
t=(int)(h*10
n+1
+5)/10;/*对h进行操作,得到值浮点型,t取值时取整数部分。10
n+1
为要扩大的倍数*/
h=(noat)t/10
n
;/*将t缩小10
n
倍,并转换成浮点型*/
转载请注明原文地址:https://jikaoti.com/ti/ixD0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:从s所指字符串中,找出t所指字符串的个数作为函数值返回。例如,当s所指字符串中的内容为“abcdabfab”,t
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。例如,形参s所指的字
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是将带头节点的单向链表节点数据域中的数据从小到大排序。即若原链表节点数据域从头至尾的数据为:10、4、2、8、6
把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是
以下错误的定义语句是
以下选项中非法的C语言字符常量是
设顺序表的长度为40,对该表进行冒泡排序。在最坏情况下需要的比较次数为
以下选项中叙述错误的是
在关系模型中,每一个二维表称为一个
C语言程序的模块化通过以下哪个选项来实现
随机试题
出现肺泡呼吸音增强的疾病是
患者,女,20岁。左乳外上方圆形肿块,质地坚韧,表面光滑,活动度较好,边界清,无压痛。应首先考虑的诊断是
肛瘘手术成败的关键是
功能清热化痰,清心定惊的药物是
处方由调剂处方药品的医疗机构妥善保存,保存期满后经()方可销毁。
患者,男,28岁。诊断为缺铁性贫血。口服铁剂治疗,下面哪句话说明患者需要护士给予服药指导
试回答轮廓标工程质量检验评定标准的相关问题。轮廓标工程质量检验评定的实测项目为()。
根据《合同法》,下列合同转让合法生效的是()。
高层建筑物箱形基础施工在后浇带施工缝处,钢筋()。
设f(x)在(1—δ,1+δ)内存在导数,f’(x)严格单调减少,且f(1)=f’(1)=1,则()
最新回复
(
0
)