C语言编写函数,对浮点数保留两位小数,对第三位四舍五入。程序如下 #include<stdio.h
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言编写函数,对浮点数保留两位小数,对第三位四舍五入。程序如下 #include<stdio.h相关的知识,希望对你有一定的参考价值。
C语言编写函数,对浮点数保留两位小数,对第三位四舍五入。程序如下 #include<stdio.h>
#include<math.h>
void sum(float x)
float a,b,c,d;
int f;
c=100*x;
b=floor(c);
a=1000*x;
d=(a-10*b);
f=floor(d);
printf("%d ",f);
if(f<5)
x=x; printf("%.2f ",x);
if (f>5)
x=x+0.01;
printf("%.2f ",x-0.01);
if(f=5)
printf("%.2f ",x+0.01);
main()
float x;
scanf("%f",&x);
sum(x);
为什么我输入3.1777时,会得到两个数3.18 3.20
void sum(float x)
float a,b,c,d;
int f;
c=100*x;
b=floor(c);
a=1000*x;
d=(a-10*b);
f=floor(d);
printf("%d ",f);
if(f<5)
x=x; printf("%.2f ",x);
if (f>5)
x=x+0.01;
printf("%.2f ",x-0.01);
if(f=5) //这里写成了赋值语句,应该是==
printf("%.2f ",x+0.01);
main()
float x;
scanf("%f",&x);
sum(x);
参考技术A 呃啊。
这种事情一句话不久解决?
float a;
scanf("%f",&a);
printf("%.2f",a+0.005);
真不知道为什么要用这么多代码
不过你写的我也给你看了
你的==你写成了=
所以if(f=5)内的也被执行了 参考技术B if(f=5) = 应该是 ==
if(f == 5)追问
😭。。。好像还真是
本回答被提问者采纳写一段简单的c语言程序: 输入一个double类型的数,使它保留小数点后两位,对第三位四舍五入处理
写一段简单的c语言程序: 输入一个double类型的数,使它保留小数点后两位,对第三位四舍五入处理。然后输出。
1 输入double类型数。
2 利用取整,将第三位四舍五入。
3 输出结果。
注意,不可以直接以%.2lf输出,因为题目要求的是在程序中四舍五入处理,而不是仅仅输出四舍五入后的结果。
代码:
#include <stdio.h>int main()
double v;
scanf("%lf",&v);
v = (int)(v*100+0.5)/100.0;
printf("%.2lf\\n",v);
return 0;
参考技术A #include<stdio.h>
int main()
double i;
int k,j;
scanf("%lf",&i);
k=(int)(i*1000);
j=(int)(i*100);
if((k%10)>=5)
printf("%.2f",(j+1)*0.01);
else
printf("%.2f",j*0.01);
return 0;
//无论是3.456还是3.45615...都满足条件哈!本回答被提问者采纳
以上是关于C语言编写函数,对浮点数保留两位小数,对第三位四舍五入。程序如下 #include<stdio.h的主要内容,如果未能解决你的问题,请参考以下文章
C语言试题二十五之编写一个函数float function(double h),函数的功能使对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。
C语言试题二十五之编写一个函数float function(double h),函数的功能使对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。