Wasteland289 2022-10-12 15:00 采纳率: 50%
浏览 32
已结题

用公式计算pai的值

请问这个代码为什么无法正常输出呢?
用公式计算pai的值:

#include <stdio.h>
int main(void)
{
int a, b, c, s;
double sum,d;
scanf("%d", &a);
for(s=1,b=1,c=1,sum=0;a>0;a--)//a也为循环次数,b为计数器,s为符号
{
d = s * 4 / c;
sum += d;
s *= -1;
c += 2;
printf("项数 pai的值\n");
printf("%d %f\n", b, sum);
b++;
}
}

  • 写回答

1条回答 默认 最新

  • a5156520 2022-10-12 15:03
    关注

    应该是因为d = s * 4 / c; 这行代码,s * 4 / c的计算结果为int,因为参与运算的都是int类型,所以其结果也是int类型,与预期需要的的double类不符合,所以会出错。

    可以改为d = s * 4.0 / c; 把里面的4改为4.0,因为有了double类型的值,所以把整个表达是的改为double类型的运算,如此可以与预期的double相符合。修改如下:

    
    #include <stdio.h>
    int main(void)
    {
        int a, b, c, s;
        double sum,d;
        scanf("%d", &a);
        for(s=1,b=1,c=1,sum=0;a>0;a--)//a也为循环次数,b为计数器,s为符号
        {
            d = s * 4.0 / c;
            sum += d;
            s *= -1;
            c += 2;
            printf("项数 pai的值\n");
            printf("%d %f\n", b, sum);
            b++;
        }
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 10月12日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度