问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

帮帮忙!c语言计算pi ,为什么结果是4??

发布网友 发布时间:2022-05-12 20:42

我来回答

5个回答

热心网友 时间:2023-10-22 00:29

i,j不应该用int型,应该用float型,如果用int型的话,j/i是整形把它赋给m是float型,是不对的m=0,这样p只会等于m等于1(while里面第一步还是执行了),pi就是4了,精度会有损失.可以改成如下:
#include <stdio.h>
#include<math.h>
void main()
{
float p=0,pi,m=1,i=1,j=1;
while(fabs(m)>1e-6)
{
p=p+m;
i=i+2;
j=-j;
m=j/i;
}
pi=p*4;
printf("%f\n",pi);
}
就可以了,楼主试试?

热心网友 时间:2023-10-22 00:30

#include<math.h>
int main()
{
int i=1;
float j=1;
float p=0,pi,m=1;
while (fabs(m)>=1e-6)
{
p=p+m;
i=i+2;
j=-j;
m=j/i;
}
pi=p*4;
printf("pi=%f\n",pi);
return 0;
}
运行结果是3.141594,
【把j或i中的一个换成float型的,因为"整型/整型"的运算结果还是整型的不会产生浮点数。】

热心网友 时间:2023-10-22 00:30

问题出在m=j/i这一步,这一步会把整型结果赋值给浮点型,造成数据丢失。
改成这样就可以了m=(float)j/i

热心网友 时间:2023-10-22 00:31

m = j / i; 问题在这了,改成 m = 1.0 * j/i

热心网友 时间:2023-10-22 00:32

一般定义3.14时用pi。你这个没有赋初值
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 微信小店功能信息为空 美国有哪些好的金融专业的大学。 美国公立大学金融排名前100 请问一下美国金融专业各大学的排名情况 美国大学本科金融专业(前100)排名。。 黄年米果好吃吗? 黄元米果是由哪些材料做成的? ...赣南的那种黄元米果要怎么做啊 和年糕一样做法吗 可以炒吗 还是蒸... 高考作文题材料:有人说,没有什么是不朽的,只有青春 开天辟地成语故事 盘古开天辟地的故事450字左右 小学盘古开天辟地的故事 倩女幽魂日常任务什么时候刷新 倩女幽魂1天怎么刷5000万经验 倩女幽魂OL中89级和109级的日常任务有哪些区别 倩女幽魂一条龙任务怎么做? 手游倩女幽魂如何快捷有效的完成各种任务? 倩女幽魂手游日常活动一条龙玩法详解 倩女幽魂的日常任务在哪里接? 倩女幽魂手游日常任务要做多久 两张 几何图 有人说PI = 4 ,为什么不对呢? C语言基础:求π的近似值。 pi=4*(1-1&#47;3+1&#47;5-....) 我哪里错了? 计算圆周率PI=4-4&#47;3+4&#47;5-4&#47;7.........打印出第一个大于3.1415小于3.1416的值 PI=4&#47;1-4&#47;3+4&#47;5-4&#47;7+4&#47;9-4&#47;11+4&#47;13-4&#47;15+4&#47;17...... 这个算式的结果会无限接近于圆周率的值,我国古代数学家 利用公式PI=4*(1-1&#47;3+1&#47;5-1&#47;7……). 要求:直到最后一项的绝对值小于10的负8次方。运行结果总是4~ c#32.编一个程序,用do-while循环语句来计算PI=4*(1-1&#47;3+1&#47;5+...+1&#47;n),要求当1&#47;n&lt;0.000001时停止计算。 谁给说说派(圆周率)的4中算法 pi/4 是不是分数? 求pi的近似值 执行语句pi=pi+4后,pi的值实际增加了多少 C++ 利用公式PI&#47;4=1-1&#47;3+1&#47;5-1&#47;7+... 计算PI的近似值。 已知pi&#47;4=1-1&#47;3+1&#47;5-1&#47;7+……,请分别使用for、while、do-while语句编程计算pi值。注意控制循环结束的方式 买台奔驰s320做婚车出租划算吗? 奔驰S320&#x00CA;官方指导价为多少? 最近打算购买2018款奔驰S320,现在有优惠吗 S320一套保含刹车片刹车盘多少钱!原厂? 奔驰新款s320大约多少钱 为什么我发帖就被秒删 我的百度账号显示无异常,但是一发帖子还有回复就被系统秒删,这是为什么啊 我想问一下现在有哪种洗发水既可防脱发又洗了头发不干很顺又能去屑???有没有这几种功能都有的啊?