求助一到简单的c语言题目

[复制链接]
查看11 | 回复2 | 2021-1-27 06:28:22 | 显示全部楼层 |阅读模式


我的代码
#include
doublefunpi(doublee);
intmain(){
doublee,pi;
scanf("%lf",&e);
pi=funpi(e);
printf("pi=%f",pi);
return0;
}
doublefunpi(doublee){
doublepi=0,j=1.0;
for(inti=1;1.0/(2*i-1)>=e;i++,j*=-1.0){
pi+=4*j/(2*i-1);
}
returnpi;
}

最后运行的时候发现总会有非常小的偏差都是零点零几....是在找不出问题在哪里..求各位大佬帮看看哪里出问题了。。。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:28:22 | 显示全部楼层
你这样少加了最后一项,因为最后一项小于e(题目要求),不满足for的循环条件没有进入循环体,所以漏加了
改成
doublepi=0,j=1.0;
for(inti=1;;i++,j*=-1.0){
pi+=4*j/(2*i-1);
if(1.0/(2*i-1)

回复

使用道具 举报

千问 | 2021-1-27 06:28:22 | 显示全部楼层
非常感谢!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行