首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编—个函数float fun(double h),该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。 例如,若h值为1234.567,则函数返回1234.570000;若h值为1234.564,则函数返回1
请编—个函数float fun(double h),该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。 例如,若h值为1234.567,则函数返回1234.570000;若h值为1234.564,则函数返回1
admin
2016-08-16
23
问题
请编—个函数float fun(double h),该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如,若h值为1234.567,则函数返回1234.570000;若h值为1234.564,则函数返回1234.560000。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#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);
/********************/
}
选项
答案
float fun(float h) { int tnap = (int) (h*1000 +5)/10; /*单精度数h乘以1000后再加5,相当于对h中的第三位小数进行四舍五入,除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/ return(fliat)tmp/100.0, /*除以100,保留2位小数*/ }
解析
注意:本题要求对h的值真正进行四舍五入运算,而不是为了输出,即不能用printf("%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=(float)t/10
n
;/*将t缩小10
n
倍,并转换成浮点型*/
转载请注明原文地址:https://kaotiyun.com/show/uaNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classpoint{intx,y;public:point(intvx
设有以下变量定义,并已赋确定的值:charw;intx;floaty;doublez;则表达式:w*x+z-y所求得的数据类型为()。
数据库保护分为安全性控制、【】、并发性控制和数据的恢复。
有如下程序: #include"iostream.h" voidmain() { intx=1,a=0,b=0; switch(x){ case0:b++; case1:a++; case2:a++;b++;
在32位的计算机中,一个char型数据所占的内存长度的字节是
下列叙述中,不属于数据库系统的是
根据数据结构中各数据元素之问前后件关系的复杂程度,一般将数据结构分成
以于下面定义的类MyClass,在函数f()中将对象成员n的值修改为50的语句应该是()。classMyClass{public:MyClass(intx){n=x;
下列函数中,哪项是正确的递归函数()。AintFun(intn){if(n<1)return1;elsereturnn*Fun(n+1);}B)
以下程序调用findmax()函数返回数组中的最大值。请填空完成此函数。#include〈iostream〉usingnamespacestd;intfindmax(int*a,intn){int+p
随机试题
采用拼组机床加工大型零件,具有的主要特点有()。
我国安全的生产方针是:"安全第一、预防为主"。
文字起源于()
下列检查中,哪一项对鉴别单纯性与绞窄性肠梗阻最有帮助()
不属于神经反射检查的内容是()
根据《中华人民共和国水土保持法》,修建铁路、公路和水工程时必须采取的防止水土流失措施有()。
某保险公司计划推出一项医疗保险,对象是60岁以上经体检无重大疾病的老年人。投保者在有生之年如果患心血管疾病或癌症,则其医疗费用的90%将由保险公司赔付。为了吸引投保者,保险金又不能定得太高。有人估计保险金将不足以支付赔付金,因而会是个赔本生意。尽管如此,保
Ifyousmoke,nooneneedstotellyouhowbaditis.Sowhyhaven’tyouquit?Whyhasn’teveryone?Becausesmokingfeelsgo
有以下程序main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++:break;case1:b++;break;}case2:a++;b++;break;case3:a++;
Franklyspeaking,I’dratheryou(make)______nocommentontheissueattheconferenceyesterday.
最新回复
(
0
)