编写一个函数,作用是保留两位小数,对第三位四舍五入···
我写的程序如下
#include
float fun (double);
int main()
{
double a;
float b;
printf("请输入一个浮点数:%lf\n",&a);
b=fun(a);
printf("转换后的浮点数为:%12.2f\n",b);
return 0;
}
float fun (double h)
{
int e,r,t;
float c;
e=(int)(h);
t=(int)(h*100);
t=t%100;
r=(int)(h*1000);
r=r%10;
if(r>=5)
c=(t+1)*0.01;
else
c=t*0.01;
c=e+c;
return (c);
}
但是程序在运行的时候确实这样子的:
请输入一个浮点数:0.000000
转换后的浮点数为:0.00
Press any key to continue
都没让我输入,就直接0.000000,搞不懂,这个是为什么呢~
人气:166 ℃ 时间:2020-01-29 02:20:02
解答
printf是输出把
scanf才是输入
整理如下
#include
float fun (double);
int main()
{
double a;
float b;
printf("请输入一个浮点数:");
sanf("%f",&a);
b=fun(a);
printf("转换后的浮点数为:%12.2f\n",b);
return 0;
}
float fun (double h)
{
int e=(int)(h*100.0);
e%=10;
if(e>=5)
h+=0.01;
return (h);
}
推荐
- 用C语言编程如何实现保留几位小数并对最后一位四舍五入呀?
- 输入一个实数,要求四舍五入保留两位小数后输出.c语言的代码该怎么写
- C语言怎么样实现保留两位小数后的小数不进行四舍五入?
- 1.请编一个函数,函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入
- c语言中有没有进行四舍五入的函数
- 2KClO3+4HCl→2KCl+2ClO2↑+1Cl2↑+2H2O中氧化剂,还原剂,氧化产物,还原产物分别是什么?
- 虚心的反义词,热情的反义词,诚实的反义词
- 1、已知x+y=根号6,x-y=根号5,求xy的值
猜你喜欢