题目:编写一个函数double fun(double h),函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入。例如:h的值是8.32433,则函数返回8.32;h的值为8.32533,则函数返回8.33。
解析:
(1)c语言中的’%.2lf’可以使对double类型的小数四舍五入保留两位小数
#include "stdio.h" double fun(double h) { printf("%.2lf\n",h); } int main() { double a; while(1){ scanf("%lf",&a); fun(a); } }
(2)
< #include "stdio.h" double fun (double h) { long t; t=(h*1000+5)/10;/*单精度数h乘以1000后再加5,相当于对h中的第三位小数进行四舍五入 除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/ return (double) t/100; /*除以100,保留2位小数*/ } int main() { double a; while(1){ scanf("%lf",&a); printf("%.2lf",fun(a)); } }
拓展:
1.小数也可以使用 printf 函数输出,包括十进制形式和指数形式,它们对应的格式控制符分别是:
- %f 以十进制形式输出 float 类型;
- %lf 以十进制形式输出 double 类型;
- %e 以指数形式输出 float 类型,输出结果中的 e 小写;
- %E 以指数形式输出 float 类型,输出结果中的 E 大写;
- %le 以指数形式输出 double 类型,输出结果中的 e 小写;
- %lE 以指数形式输出 double 类型,输出结果中的 E 大写。
2.输出类型
- %d 十进制有符号整数
- %u 十进制无符号整数
- %f 浮点数
- %s 字符串
- %c 单个字符
- %p 指针的值
- %e 指数形式的浮点数
- %x, %X 无符号以十六进制表示的整数
- %0 无符号以八进制表示的整数
- %g 自动选择合适的表示法
原创文章,作者:Jack Jin,如若转载,请注明出处:https://www.jinxiaoliang.cn/482.html