首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编—个函数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
58
问题
请编—个函数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://kaotiyun.com/show/Xzxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是()。#include<stdio.h>main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);
下面函数的功能是()。sss(s,t)char*s,*t;{while(*s);while(*t)*(s++)=*(t++);returns;}
下列选项中,不属于数据库管理的是()。
下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。voiddelete(s,C)chars[],c;{inti,j;for(i=j=0;();i++)if(s[i]!=’c’)s[j++]=
执行程序时的输入为123456789,则程序的运行结果为()。#include"stdio.h"main(){inta,b;scanf("%2d%*2d%1d",&a,&B);printf("%d\n",
在最坏情况下,堆排序需要比较的次数为()。
若x=2,y=3,则x&y的结果是()。
C语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是()。
有以下程序:#include<string.h>voidf(charp[][10],intn)/*字符串从小到大排序*/{chart[10];inti,j;for(i=0;i<n-1;i++)fo
当把4个表达式用做if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是()。
随机试题
兴奋和收缩的本质有何不同?两者又有何联系?
关于上海期货交易所天然橡胶期货合约,下列表述错误的是()。
期末结账时,如果企业有一部分客户享受现金折扣,企业的应收账款和销售收入就会因为入账时按总价确认而虚增。()
控制流动性风险的主要做法是建立(),有效计量、监测和控制正常和压力情景下未来不同时间段的现金流缺口。I.债券估算Ⅱ.现金流测算Ⅲ.确定框架Ⅳ.分析框架
某酒厂5月生产销售无醇啤酒40吨,每吨售价2800元。另外,该厂生产一种新开发的药酒,广告样品使用0.2吨,已知该种药酒无同类产品出厂价,生产成本每吨35000元,成本利润率为5%,消费税税率为10%,该厂当月应纳消费税()元。
[2012]甲公司是ABC会计师事务所的常年审计客户,主要从事日用消费品的生产和销售。A注册会计师负责审计甲公司2011年度财务报表。2011年度甲公司财务报表整体重要性为税前利润的5%,即500万元。资料一:A注册会计师在审计工作底稿
A、 B、 C、 D、 B
软件性能测试有多种不同类型测试方法,其中,(8)________用于测试在系统资源特别少的情况下考查软件系统运行情况;(9)________用于测试系统可处理的同时在线的最大用户数量。(8)
JamesMartin认为下列哪些措施是解决数据处理部门与最高管理层之间的隔阂?Ⅰ.聘请咨询公司Ⅱ.为最高管理层放映录像并推荐一本信息系统建设的书Ⅲ.开设高级管理人员培训班Ⅳ.与高层管理人员通信、沟通
Chineseoftenshakemyhandanddon’tletgo.Theytalkawaycontentedly,______ofmydiscomfortandstruggletodisengagemy
最新回复
(
0
)