c - 用 C 计算 Pi
问题描述
我想计算 pi,但结果是 3.058403。如何修复此代码?
#include <stdio.h>
int main(){
double x = 0;
float g =0;
printf("How many terms to calculate pi to? ");
scanf("%f", &g);
int n;
for (n = 0; n < g ; n++){
double z = 1.0 / (2 * n + 1);
if ((n % 2) == 1){
z = z * -1;
}
x = (x + z);
}
double p = 4 * x;
printf("The value of pi is: %f", p);
return 0;
}
解决方案
这不是真正的答案,因为实际答案已在评论部分讨论。
您的代码的更正版本:
- 删除了无意义的括号
- 使用有意义的变量名
- 用于
int
整数比较 - 尽可能接近其范围的变量声明
- 代码格式正确
#include <stdio.h>
int main() {
printf("How many terms to calculate pi to? ");
int nbofterms;
scanf("%d", &nbofterms);
double x = 0;
for (int n = 0; n < nbofterms; n++) {
double z = 1.0 / (2 * n + 1);
if (n % 2 == 1) {
z *= -1;
}
x = (x + z);
}
double pi = 4 * x;
printf("The value of pi is: %f", pi);
return 0;
}
推荐阅读
- javascript - JavaScript ES6 税收计算,某些项目免税
- java - 使用 Pixelmon mod 1.12.2-6.3.1 在 Eclipse 中运行 Minecraft Forge 服务器/客户端
- asp.net - 经典的 ASP XML 解析问题
- ios - Xcode 10 beta2:无法为没有参数的“UIView”类型调用初始化程序
- javascript - 初始化后如何将输入绑定到Vue实例?
- entity-framework - 实体框架:从文本文件加载数据库
- authentication - Nest js 无法解析依赖项。在身份验证服务中
- http - 如何将 C++ /WinRT HttpRequestMessage 与自定义 POST 正文和 HttpFormUrlEncodedContent 一起使用(UWP 应用程序)
- mysql - Linux Customized Cron - 从 Mysql 运行 cron
- python - 从python中的文本中提取JSON