若有,正确定义的语句:double x=5.16894语句printf(%f/n,(int)(x *1000+0.5)/
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/23 06:35:25
若有,正确定义的语句:double x=5.16894语句printf(%f/n,(int)(x *1000+0.5)/(double)1000);
输出的结果为什么是5.16900,而不是5.169440?
输出的结果为什么是5.16900,而不是5.169440?
这是小数第4位四舍五入算法.
(x *1000+0.5)-- x 移动3 位小数,加0.5,也就是小数第4位加5,若这位大于等于5,则进1到个位.
5.16894 * 1000 -〉5168.94
+0.5 -> 5169.44
接下来:
(int)(x *1000+0.5)取整变 5169
5169 /(double)1000)-〉5.169
所以 printf("%f\n",5.169) 结果 是5.16900
(x *1000+0.5)-- x 移动3 位小数,加0.5,也就是小数第4位加5,若这位大于等于5,则进1到个位.
5.16894 * 1000 -〉5168.94
+0.5 -> 5169.44
接下来:
(int)(x *1000+0.5)取整变 5169
5169 /(double)1000)-〉5.169
所以 printf("%f\n",5.169) 结果 是5.16900
若有,正确定义的语句:double x=5.16894语句printf(%f/n,(int)(x *1000+0.5)/
设有定义“int x; double y; ”及语句“x=y; ”,则下面正确的说法是( ).
若有以下函数首部 int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是()
设有定义:floatx=123.4567;则执行下列语句后的输出结果是—— printf("%f\n",(int)(x*
若已定义 int a=11; 执行以下语句后的输出结果是( ).printf("a=%d,a=%o,a=%x\n",a,
若有定义语句int a,b; double x;下列选项中没有错误的是
若有说明int x=10,y=20;请写出各printf语句的输出结果 printf(“%3o\n”,x%y,x,y)
已有定义:int x;执行以下语句后的结果是——.x=11/3;y=5;printf("%%d,%%%d\n",x,y)
若定义x为double型变量,则能正确输入x值的语句是.A)scanf(“%f”,x); B)scanf(“%f”,&x
若x为int 变量,则执行下列语句x的值为() x=65535; printf(“%d\n”,x); A.65535 B
(32)若有以下函数首部 int fun(double x[10],int *n) 则下面针对此函数声母语句中正确的是_
若有定义语句:double x,y,*px,*py,执行了px=&x,py=&y;之后,正确的输入语句是