| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7596 人关注过本帖
标题:我是新手,请问怎样取整数,去掉小数点后面的数。谢谢!
只看楼主 加入收藏
SwanK
Rank: 1
等 级:新手上路
帖 子:68
专家分:3
注 册:2013-1-18
收藏
得分:0 
1。题目是rounded down to the nearest whole number- 如果 用int(volume) 是否合适,符合题意吗?
2。4/3在我程序中算不出正确的数字来 例如我用老师的:假如半径 =5。则 表面积 =314 (这个我可以算对了),体积=532  (这个无论怎么计算都得不出,只得392)
3。究竟怎样表示 4/3 ?

请高手给于帮助。谢谢!
2013-01-20 00:08
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
程序代码:
#include<stdio.h>

#define PI 3.14

int main()
{
    int r=5;
    printf("半径为%d的球体的体积为%.0lf\n",r,(double)(4.0/3.0*PI*r*r*r));
    return 0;
}
很简单吧  这里给出的是c代码 不是c++

DO IT YOURSELF !
2013-01-20 08:26
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
回复 12楼 wp231957
小伙子,啥牌子的烟?不抽烟的程序员不是个好程序员。
随便说两句:
a. 虽令printf不打印小数,但其结果本身是四舍五入后的结果。所以呀,你这个结果不能保证是向下圆整后的整数
b. %lf在scanf中才对应double,在printf中float和double都是用%f。
关于这一点多说点吧,%Lf对应于long double
C++标准中,printf中没有%lf,因此有的编译器会运行时报错,有点编译器会忽略。还有一些编译器会把printf中的%lf当成%Lf看待,比如gcc;还有一些编译器会把printf中的%lf当成%f看待,比如vc。所以呀,千万别在printf中用%lf
2013-01-20 20:04
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用rjsp在2013-1-20 20:04:44的发言:

小伙子,啥牌子的烟?不抽烟的程序员不是个好程序员。//偶不是程序员  也未必是小伙子
随便说两句:
a. 虽令printf不打印小数,但其结果本身是四舍五入后的结果。所以呀,你这个结果不能保证是向下圆整后的整数
//恩  这个用int强制转换就可以了吧
b. %lf在scanf中才对应double,在printf中float和double都是用%f。
关于这一点多说点吧,%Lf对应于long double
C++标准中,printf中没有%lf,因此有的编译器会运行时报错,有点编译器会忽略。还有一些编译器会把printf中的%lf当成%Lf看待,比如gcc;还有一些编译器会把printf中的%lf当成%f看待,比如vc。所以呀,千万别在printf中用%lf

//记住了 谢谢

DO IT YOURSELF !
2013-01-20 21:48
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
哦 忘了  我偶尔吸烟

DO IT YOURSELF !
2013-01-20 21:49
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
以下是引用wp231957在2013-1-20 21:49:09的发言:

哦 忘了  我偶尔吸烟

我和你相反,我是偶尔不吸烟^_^
2013-01-21 08:21
SwanK
Rank: 1
等 级:新手上路
帖 子:68
专家分:3
注 册:2013-1-18
收藏
得分:0 
谢谢你们的回答!
我看有3种方式。我用codeblock 试验了一下
4.0/3.0 ---最简单的方法
4/( float)3 -----也可以得出正确结果
或者在定义变量的时候就写上 int a= float 4/3 然后  v= a * PI * r * r *r 也可以的

你们说的C 和 C + + 真的有点不一样哎 , 能否直接给我C++的回答?不过 4.0/3.0 点到了问题解决关键!非常感谢!
如果我以上的想法有错误。请给于指正!
万分感谢!我很喜欢这里。


2013-01-28 02:13
快速回复:我是新手,请问怎样取整数,去掉小数点后面的数。谢谢!
数据加载中...
 
   



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

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