c语言程序练习题:用π/2=(2/1)*(2/3)*(4/3)*(4/5)*(6 /5)*(6/7)*...前100项之积计算π

我是这样写的。#include<stdio.h>#include<math.h>voidmain(){intx,z;floatpi;x=2;z=1;do{pi=pi+x/... 我是这样写的。
#include<stdio.h>
#include<math.h>
void main()
{
int x,z;
float pi;
x=2;z=1;
do
{
pi=pi+x/z;
x=x+1;
z=z+1;
(x/z)=(z/x);
}
while(x<=101);
pi=pi*2;

printf("pi=%10.7f\n",pi);
}
提示“(x/z)=(z/x);”这一行“需要逻辑0或非0在 main 函数中”是什么意思?我的程序哪里错了呢?求解!先谢谢了!
展开
 我来答
程序猿3号
2013-01-02 · TA获得超过1811个赞
知道小有建树答主
回答量:1029
采纳率:33%
帮助的人:763万
展开全部
pi没初始化
追问
于是补充了“float pi=0”还是不行。。。提示的错误还是那个。
追答
你的这行(x/z)=(z/x)写错了吧,这是什么意思啊,完全没有c语言的语法,我开始也没看你的程序要干什么,你这么计算是错误的,你的程序应该这么写
#include
#include
void main()
{
int i = 0;
double x,z, pi = 1.0;
x=2.0;z=1.0;
do
{
pi=pi*(x/z);
if(i%2){
z += 2.0;
} else {
x += 2.0;
}
i++;
}
while(i<101);
pi=pi/2.0;

printf("pi=%10.7f\n",pi);
}
从你的程序可以看出来,这个题目要求你都没读懂,求pi值是乘法运算,你做成加法运算了。要求是前100项的积,看看我的程序,有什么不懂的再问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-01-02
展开全部
float pi=tangram_guid_1357135533083?;
给pi赋一个初值吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寒冰如雪liu
2013-01-02
知道答主
回答量:27
采纳率:0%
帮助的人:10.4万
展开全部
pi 没有定初值!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式