C语言怎么四舍五入

Python09

C语言怎么四舍五入,第1张

# incloud <stdio>

int main(void)

{

float a ;

scanf(“%f”,&a);

a=(int)(a*1000+0.5)/1000.0;

printf (“%0.3f”,a);

return 0;

}

扩展资料

其他方法实现四舍五入:

int myround(double indata,int precision,double * outdata)

{

long pre = 1,i;

for(i = 0i <precisioni ++)pre = pre * 10;

if(cy_FloatCompare(indata,0.00)>0)

* outdata =(int)((indata * pre)+0.5)/100.00;

else

* outdata =(int)((indata * pre)-0.5)/100.00;

return 0;

// cy_FloatCompare是浮点数与0比较的函数,假设它存在。返回值与strcmp相同。

方法一:

#include<stdio.h>

int main()

{

  double d1,d2,d3

  d1=-3.1415926

  d2=(int)(d1*10+0.5)*0.1

  printf("d1=%f,保留一位小数的结果为:%.1f\n",d1,d2)

  d3=(int)(d1*1000+0.5)*0.001

  printf("d1=%f,保留三位小数的结果为:%.3f",d1,d3)

总结四舍五入保留n为小数

(int)(x*10的n次方+0.5)*10的负n次方;

其次这个方法对负数无效;如果非要用可以先取正数部分算,最后加上负号

}

方法二:

使用round()函数。

#include"stdio.h"

#include"math.h"

void main()

{

float x

scanf("%f",&x)

int y = round(x)

printf("%d",y)

}

扩展资料:

C语言编写注意事项:

1、%运算符不能应用与float或double类型。

2、char类型转换为int型时, 无法判断它是signed还是unsigned.这样其结果有可能为负数, 因此转换时尽量指定signed和unsigned限制符。

3、++i与i++不同之处: ++i是先+1在使用, i++是先使用i在递加1。

4、三元运算符"?:" 第一个表达式的括号不是必须的,但是由于三元表达式的优先级非常低,我们还是将第一个表达式用()括起便于阅读和理解。

5、C语言中可以使用递归 (即函数调用自身函数), 其不节省储存器开销也不加快执行速度, 只是使程序紧凑便于理解。

1、首先打开DEV C++软件,点击“新建源代码”,在编辑页面输入以下代码。

2、因为题目要求我们先输入一个整数,所以在定义变量时,就应该将其定义为整数型,注意,在输入,输出函数中,整数型对应的是“%d”。

3、接下来就要对输入的整数进行判断,在C语言中,if是判断语句,所以用它来对整数进行判断。if(a%2==0)是计算机认可的判断代码。

4、因为需要进行结果的输出,不单单是判断而已,所以要结合else来结合进行判断,对结果进行输出。

5、最后,点击“运行”,在弹出的输入页面之后,在其输入一个整数,点击回车,即可得出想要的结果了。