首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编—个函数float fun( double h), 该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。 例如,若h值为1234, 567,则函数返回1234. 570000;若h值为1234.564,则函
请编—个函数float fun( double h), 该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。 例如,若h值为1234, 567,则函数返回1234. 570000;若h值为1234.564,则函
admin
2017-09-23
69
问题
请编—个函数float fun( double h),
该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如,若h值为1234, 567,则函数返回1234. 570000;若h值为1234.564,则函数返回1234. 560000。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include < stdio.h >
#include < coni < *h >
#include < stdlib.h >
float fun (float h )
{
}
void main ()
{
FILE *wf;
float a;
system ("CLS") ;
printf ("Enter a: ") ;
scanf ("% f"f &a) ;
printf "The original data is : ") ;
printf ("% f\n\n", a) :
printf ("The result:%f\n", fun
(a));
/*********found*********/
wf = fopen "out.dat", "w") :
fprintf (wf, "f% f", fun (8.32533));
fclose (wf) ;
/*********found*********/
}
选项
答案
float fun (float h) { int tmp= (int) (h*1000+5) 110; /*单精度数h乘以1000后再加5,相当于对h中的第三位小数进行四舍五入,除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/ return (float) 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://www.kaotiyun.com/show/Xzxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序,其中%u表示按无符号整数输出()。main(){unsignedintx=0xFFFF;/*x的初值为十六进制数*/printf("%u\n",x);}程序运行后的输出结果是()。
下述程序的输出结果是()。#include<stdio.h>voidmain(){inta[20],*p[4];inti,k=0;for(i=0;i<20;i++)a[i]=i;for(
若定义函数int*func(),则函数func的返回值为()。
定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。for(i=0;i<3;i++)printf("%d",x[i][2-i]);
以下程序:#include<stdio.h>main(){charstr[10];scanf("%s",&str);printf("%s\n",str);}运行上面的程序,输入字符串howare
有以下程序:#include<stdio.h>intfun(intx,inty){if(x==y)return(x);elsereturn((x+y)/2);}main(){inta=1,b
当把4个表达式用做if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是()。
若有以下定义和语句:inta=010,b=0×10,c=10;printf("%d,%d,%d\a",a,b,C);则输出结果是()。
以下语句定义正确的是()。
随机试题
设向量组α1,α2,…,αm线性无关,β1可由α1,α2,…,αm线性表示,但β1不可由α1,α2,…,αm线性表示,则().
尺神经炎常采用的手术方式
在X线束中,中心线以外的射线都称为
某管道安装工程项目,有A、B、C3家潜在投标人,A投标人近期施工任务已经饱和,但企业考虑到该管道工程项目的利润丰厚,为了使企业增效,决定投标。B投标人投标时在确定了总价的前提下,适当调整了各分项工程的报价,使得该报价既不影响总报价又可在中标后获得较好的经济
在意外伤害保险中,当被保险人因遭受意外伤害导致死亡时,保险人应支付给受益人( )。
2013年年初某农产品批发市场占地5400平方米,分为三层,房产原值1100万元,该市场第一层经营水产品、蔬菜、干鲜果品和水产品、肉禽蛋;第二层经营粮油、调味品;第三层经营日用品和服装。当地城镇土地使用税年税额为每平方米8元,计算房产余值的扣除比例为30%
A、 B、 C、 D、 C题干中的图形拼合后得下图:故本题正确答案为C。
白斑的发病因素中全身因素有()。
AFoodandDrugAdministration(FDA)advisorycommitteehasconcludedthatanovelnewtreatmentcangreatlyhelprheumatoidarth
Farmersdonotlikecrows(乌鸦)becausethesebirdseatnewly-plantedseeds(种子).Theyareafraidthattheywillnothaveanythin
最新回复
(
0
)