c语言问题 编写一个函数,作用是保留两位小数,对第三位四舍五入···

我写的程序如下#include<stdio.h>floatfun(double);intmain(){doublea;floatb;printf("请输入一个浮点数:%l... 我写的程序如下
#include<stdio.h>
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,搞不懂,这个是为什么呢~~高手告诉我啊·~~
在线等待·~~
展开
 我来答
LWT3233608
推荐于2017-11-23
知道答主
回答量:13
采纳率:0%
帮助的人:8.6万
展开全部
printf是输出把
scanf才是输入
整理如下

#include<stdio.h>
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);
}
kongwq16
2010-10-08 · TA获得超过392个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:278万
展开全部
printf("请输入一个浮点数:%lf\n",&a);
不能直接在printf里面输入吧,你没有scanf语句
改为printf("请输入一个浮点数:");
scanf("%lf",&a);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
enochwills
2010-10-08 · TA获得超过4793个赞
知道大有可为答主
回答量:2031
采纳率:96%
帮助的人:1603万
展开全部
printf("请输入一个浮点数:%lf\n",&a);

这句话写得不正确,改成两句话:
printf("请输入一个浮点数");
scanf("%f",&a);

再试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式