c语言编写一个函数求π
时间: 2024-02-07 17:03:36 浏览: 25
C语言中可以使用蒙特卡罗方法来估算圆周率π的值。具体实现如下:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
double estimatePi(int n) {
int i, count = 0;
double x, y;
// 随机数种子初始化
srand((unsigned int)time(NULL));
// 生成n个随机点,计算落在圆内的点数
for (i = 0; i < n; i++) {
// 生成在[-1, 1]之间的随机数
x = (double)rand() / RAND_MAX * 2 - 1;
y = (double)rand() / RAND_MAX * 2 - 1;
// 判断点是否在圆内
if (x * x + y * y <= 1) {
count++;
}
}
// 计算圆周率π的估计值
return (double)count / n * 4;
}
int main() {
int n = 1000000;
double pi = estimatePi(n);
printf("估计值为:%.10lf\n", pi);
return 0;
}
```
上述代码中,首先通过srand函数初始化随机数种子,然后生成n个随机点,并判断每个点是否在圆内。最后根据落在圆内的点数和总点数计算圆周率π的估计值。