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 展开
#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 展开
3个回答
展开全部
#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);
}
展开全部
呃啊。
这种事情一句话不久解决?
float a;
scanf("%f",&a);
printf("%.2f",a+0.005);
真不知道为什么要用这么多代码
不过你写的我也给你看了
你的==你写成了=
所以if(f=5)内的也被执行了
这种事情一句话不久解决?
float a;
scanf("%f",&a);
printf("%.2f",a+0.005);
真不知道为什么要用这么多代码
不过你写的我也给你看了
你的==你写成了=
所以if(f=5)内的也被执行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(f=5) = 应该是 ==
if(f == 5)
if(f == 5)
追问
😭。。。好像还真是
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询