注册 登录
编程论坛 C语言论坛

C语言代码我输出的结果 求大佬帮忙看看我的这段代码有啥问题。

GhostL 发布于 2021-11-06 22:42, 1673 次点击
问题:根据一下公式求Π的值并作为函数值返回。例:当给出指定精度的变量eps输入0.0005时,应该输出Pi=3.140578。其中Π/2=1+1/3+1/3✖2/5+1/3+1/3✖2/5×3/7+1/3✖2/5✖3/7✖4/9+......
本人结果:3.141106
本人代码如下:
#include <stdio.h>
int main() {
    double pi = 1.00;//输出对象   
    double eps = 0.0;//精度
    double sud= 1.0;//被加分数
    double nat = 1.0;//分子
    double dma = 3.0;//分母
   scanf("%1f", &eps);
   while (sud >eps) {
        sud*=(nat / dma);
        nat+=1.0;
        dma += 2.0;
        pi=pi+sud;
    }
    printf("%1f", (2.0* pi));

}
1 回复
#2
apull2021-11-07 12:38
你的循环多算了一次pi=pi+sud。
scanf和printf里是小写的L,不是数字1
1