C语言:对一个小数取近似整数,请问下面哪里错了?输出结果不会呢

#include<stdio.h>intmain(){doublea;scanf("%f",&a);intk=a;doubleb=a-k;{if(b>=0.5)k=k+1... #include<stdio.h>
int main()
{
double a;
scanf("%f", &a);

int k=a;
double b=a-k;

{if (b >= 0.5)
k= k + 1;
else k = k; }

printf("%d",k);

system("pause");

return 0;
}
展开
 我来答
三天打鱼N
2020-08-13 · TA获得超过1540个赞
知道大有可为答主
回答量:2032
采纳率:74%
帮助的人:601万
展开全部
int main()
{
double a;
scanf("%lf", &a);//%f是单精浮点 %lf双精浮点
printf("%d",(int)(a+0.5));
system("pause");
return 0;
}
你那个else k=k是错的 k不变就好 不要给自己赋值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式