我的C++编程就差一步错误了,大哥大姐们帮帮忙拉弟弟一把啊~! 30
E:\C++练习\B22\b22.cpp(23):fatalerrorC1004:unexpectedendoffilefound#include<iostream.h>...
E:\C++练习\B22\b22.cpp(23) : fatal error C1004: unexpected end of file found
#include<iostream.h>
#include<math.h>
void main()
{ int f;
float n,o;
float t,pi,m,i;
t=1;pi=0;f=1;n=1.0;
m=n=1;
cout<<"输入一个精确度"<<endl;
cin>>o;
while (fabs(t)>o)
{ pi=pi+t;
for (i=1;i<=n;i++)
{
m*=i-1;
n=n*(2*i-1);
t=float (m/n);
n=n+2;
}
pi=pi*2;
cout<<"pi="<<pi<<endl;
} 展开
#include<iostream.h>
#include<math.h>
void main()
{ int f;
float n,o;
float t,pi,m,i;
t=1;pi=0;f=1;n=1.0;
m=n=1;
cout<<"输入一个精确度"<<endl;
cin>>o;
while (fabs(t)>o)
{ pi=pi+t;
for (i=1;i<=n;i++)
{
m*=i-1;
n=n*(2*i-1);
t=float (m/n);
n=n+2;
}
pi=pi*2;
cout<<"pi="<<pi<<endl;
} 展开
4个回答
展开全部
“unexpected end of file found”就是少了一个大括号括号。但看了好久也不知道这大括号应该加在哪。如果加在t=float(m/n)之后的话,则这个循环永远只循环一遍,因为n在循环走一遍之后还是1,而i变成了2。如果加在n+2之后的话就会死循环,因为i永远也达不到n的值。还有就是就是m永远也是0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
除了少了一个“}”外,这句m*=i-1;有问题,你永远不会得到你要的结果,这里m会等于0,因此t也为0.。还有你的n的修改也有问题,然后就没有然后了。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得不光是缺大括弧的问题。
无论是大括弧加在 n=n+2这句之前还是之后,每次循环 i 加1,而循环体中 n 的增加显然比 i 更快,即for陷入死循环之中。
另外,如果没有特别的必要,循环变量 i 不应该定义为float型;变量 f 除了赋值外,其余地方都没有用到。
无论是大括弧加在 n=n+2这句之前还是之后,每次循环 i 加1,而循环体中 n 的增加显然比 i 更快,即for陷入死循环之中。
另外,如果没有特别的必要,循环变量 i 不应该定义为float型;变量 f 除了赋值外,其余地方都没有用到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是差括号 while (fabs(t)>o)
{ pi=pi+t;
for (i=1;i<=n;i++)
{
m*=i-1;
n=n*(2*i-1);
t=float (m/n);
n=n+2; //这一行加个 } 括号
}
{ pi=pi+t;
for (i=1;i<=n;i++)
{
m*=i-1;
n=n*(2*i-1);
t=float (m/n);
n=n+2; //这一行加个 } 括号
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询