C语言编写函数,对浮点数保留两位小数,对第三位四舍五入。程序如下 #include<stdio.h

C语言编写函数,对浮点数保留两位小数,对第三位四舍五入。程序如下#include<stdio.h>#include<math.h>voidsum(floatx){floa... 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
展开
 我来答
chenfenggang99
推荐于2018-04-21 · TA获得超过1850个赞
知道大有可为答主
回答量:1746
采纳率:75%
帮助的人:1718万
展开全部
 #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);
 }
snowland
2014-05-09 · 知道合伙人软件行家
snowland
知道合伙人软件行家
采纳数:1229 获赞数:7313
多次参加C++算法类竞赛获奖。

向TA提问 私信TA
展开全部
呃啊。
这种事情一句话不久解决?
float a;
scanf("%f",&a);
printf("%.2f",a+0.005);
真不知道为什么要用这么多代码

不过你写的我也给你看了
你的==你写成了=

所以if(f=5)内的也被执行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuzongxian0010
2014-05-09 · TA获得超过796个赞
知道小有建树答主
回答量:433
采纳率:100%
帮助的人:326万
展开全部
if(f=5) = 应该是 ==
if(f == 5)
追问
😭。。。好像还真是
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式