计算PI的值,但值没有被添加到变量中
Calculating the value of PI but values are not being adding to variable
PI的计算公式如下:
π = 4 -4/3 +4/5 -4/7 +4/9 -4/11 ....
序列越深入,精度越高。我的代码似乎是正确的,我将值添加到变量pi
。然而,一旦我打印变量pi
,我只得到零。怎么了?
#include <stdio.h>
int main()
{
long double pi =0.0;
long double num= 4.0;
long double denom= 1.0;
long int loop;
long int accuracy;
accuracy= 400000;
printf("Accuracy set at: %ldn", accuracy);
printf("termtt pin");
for(loop=1;loop<=accuracy; loop++)
{
if(loop%2 != 0)
{
pi += num/denom;
}
else{
pi-= num/denom;
}
printf("%ldtt%lfn", loop, pi);
denom +=2.0;
}
return 0;
}
我的C编译器在你的printf
语句中给出了这个消息:
警告:format指定了'double'类型,但参数有类型'long double' [-Wformat]
也许如果你使用%Lf
而不是%lf
来打印pi
?
代替if/else来交替处理加减法:
for(loop=1;loop<=accuracy; loop++)
{
pi += num/denom;
printf("%dtt%Lfn", loop, pi);
denom += 2.0;
num = -num;
}
从long double
中删除long
。我测试了一下,它似乎可以工作
你需要用它做一个合适的else if()
。
for (int loop=1; loop<=accuracy; loop++) {
if(loop%2 != 0)
{
i++;
if (i%2==0)
pi += num/denom;
else
pi -= num/denom;
}
denom++;
}
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- 将布尔变量添加到 int
- 我可以在 C++ 中将数据成员/变量从其定义之外添加到结构中吗?
- 尝试将带有值的不同变量添加到一小串程序C++中
- 将不同类型的变量添加到向量中
- 如何添加依赖于类本身的模板成员变量
- 为什么我的重载运算符+在向自身添加变量时会在返回时使"this"未初始化?
- OPC-UA open62541 sdk 运行服务器后动态添加变量节点
- 您可以在内部添加变量
- C++在if函数中添加变量
- C++ Linux 套接字在字符 *msg 中添加变量
- 在C 中动态添加变量
- 向字符串中添加变量和文本
- Cplex C++按列添加变量(库存)
- 在链表形成中,在开头添加变量的代码是什么
- 我正在尝试在变量中添加变量"height" "media"
- c++ fstream -如何在.open()中添加变量而不是字符串
- 无法在mfc中看到添加变量向导
- C++ - 根据模板参数向模板化类添加变量和函数