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

 #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);
 

参考技术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语言编程 对变量保留两位小数 并进行四舍五入

C语言试题二十五之编写一个函数float function(double h),函数的功能使对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。

C语言试题二十五之编写一个函数float function(double h),函数的功能使对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。

用C语言如何实现 输入一个double 类型的数后 使该数保留小数点后两位 对第三个数进行四舍五入处理

C语言四舍五入保留两位小数

C语言四舍五入保留两位小数