编写程序求Π用C语言
时间: 2024-01-13 22:06:47 浏览: 112
C语言中可以使用蒙特卡罗方法来求解Π的近似值。具体步骤如下:
1. 定义一个圆形和一个正方形,圆形半径为1,中心点为坐标原点,正方形边长为2,中心点也为坐标原点。
2. 在正方形内随机生成大量的点,每个点的坐标为(x,y),其中x和y都是在[-1,1]范围内随机生成的。
3. 统计在圆形内的点的数量n,以及总点数m。
4. 计算Π的近似值:Π ≈ 4 * n / m。
下面是一个简单的实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int n = 0, m = 0;
double x, y, pi;
srand((unsigned)time(NULL)); // 初始化随机数种子
for (int i = 0; i < 1000000; i++) { // 生成1000000个点
x = (double)rand() / RAND_MAX * 2 - 1; // 随机生成x坐标
y = (double)rand() / RAND_MAX * 2 - 1; // 随机生成y坐标
if (x * x + y * y <= 1) { // 判断该点是否在圆内
n++;
}
m++;
}
pi = 4.0 * n / m;
printf("π ≈ %lf\n", pi);
return 0;
}
```
运行结果如下:
```
π ≈ 3.141144
```
由于使用的是蒙特卡罗方法,每次运行得到的结果可能会有所不同,但都会在Π的附近。
阅读全文