
#define是宏定义的意思,宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。%3lf会自动四舍五入
如何不四舍五入? 其实有办法 咱们利用四舍五入达到不四舍五入
以π为例
31
314
3141 这里就会出现问题 ,方法 : 减去 00005然后四舍五入
计 31415926 - 00005 = 31410926 四舍五入 3141
原理 : 实际上需要的是舍去多余小数部分 ,
如果 大于5 减去5以后肯定小于5,会被舍去
如果小于5 ,会向前1位借1,但是结果大于等于5,四舍五入又会给前一位加1舍去
满足条件
望采纳!楼主这个方法应当用随机数来做。
思想:
在0到1之间取两个随机数,如果这两个随机数(x,y)在四分之一圆内,就加一。
最后用落在圆内的点数,除以总点数,就是PI了。
#include
<stdioh>
#include
<conioh>
#include
<stdlibh>
#include
<timeh>
#define
N
300000
main()
{
long
i,n=0;
float
x,y,pi;
srand(time(NULL));
for
(i=0;i<N;i++)
{
x=10rand()/RAND_MAX;
y=10rand()/RAND_MAX;
if
(xx+yy<1)
n++;
}
pi=40n/N;
printf("pi=%f\n",pi);
getch();
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)