标题:一个四舍五入问题
只看楼主
tremere
Rank: 6Rank: 6
来 自:火星
等 级:侠之大者
帖 子:223
专家分:432
注 册:2013-3-11
结帖率:70.59%
已结贴  问题点数:10 回复次数:5 
一个四舍五入问题
#include<stdio.h>
#include<conio.h>
double fun (double h)
{ long int t;
  float s;
  h=h*1000;
  t=(h+5)/10;
  float (t)/100.0;
  return (s);
}

int main()

{
    float a;
    clrscr( );  //编译它说我没有声明,是什么意思。
    scanf("%f",&a);
    printf("%f\n\n",&a);
    printf("the result : %f\n",fun(a));
}

我上面的算法是保留两位小数,第三位四舍五入。
clrscr 是清屏没错 的吧,不懂。就算我把它删掉,编译通过了。可是,结果还是错的。
搜索更多相关主题的帖子: include double return result 
2014-02-28 20:35
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:4 
程序代码:
#include <stdio.h>

int main()
{
    float a;
    scanf("%f",&a);
    printf("%.3f\n\n",a);
    return 0;
}

DO IT YOURSELF !
2014-02-28 20:45
tremere
Rank: 6Rank: 6
来 自:火星
等 级:侠之大者
帖 子:223
专家分:432
注 册:2013-3-11
得分:0 
回复 2楼 wp231957
不对。输出结果不对。我改了之后,我输入8.234
如果编对 了。输出应该是8.23.因为4舍掉了才对啊

极品菜鸟,来学习啦,啦啦啦啦啦啦啦。。。
2014-02-28 20:50
tremere
Rank: 6Rank: 6
来 自:火星
等 级:侠之大者
帖 子:223
专家分:432
注 册:2013-3-11
得分:0 
回复 2楼 wp231957
你输出的时候改成printf("%.3f\n\n",a);
那不就限定输出来的是三位小数了吗?
是不是我的算法有问题?

极品菜鸟,来学习啦,啦啦啦啦啦啦啦。。。
2014-02-28 20:56
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:4 
变成二位小数啊
2014-02-28 20:58
tremere
Rank: 6Rank: 6
来 自:火星
等 级:侠之大者
帖 子:223
专家分:432
注 册:2013-3-11
得分:0 
回复 5楼 tlliqi
我要做的是 输入一个数,首先对它保留两位小数,并且对第三位小数进行四舍五入
就比如说,我输入的是8.32433,应该输出8.32.
       如果我输入的是8.32533,就应该输出8.325。

极品菜鸟,来学习啦,啦啦啦啦啦啦啦。。。
2014-02-28 21:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-427822-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.781507 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved