求助,谁能帮帮我做做这个,急!!!!!
2个回答
展开全部
分析:
1,关于循环:我们把分子都看成1,分母的绝对值变化是从1开始,递增3:某一项绝对值小于10的-6次方,这里分子都是1,也就意味着分母的绝对值大于10的6次方即可,用long稳妥一下
2,关于符号:间隔变号,可以考虑设计一个bool变量,每次循环变更一次来控制符号;也可以考虑看分母,分母奇数时候,都是正项,偶数都是负项;两种方式均可,我这里用前面的
程序参考:
float result=0;
bool isPositive=true;
for(long i=1; i>100000;i+=3)
{
if(isPositive) result+=1.0/((float)i);
else result-=1.0/((float)i);
isPositive=!isPositive;
}
result应该就是结果了
展开全部
#include <stdio.h>
int main()
{
double lfRes = 0.0;
int lDenominator = 1;
while (1)
{
double lfNow = 1.0 / lDenominator;
if (lDenominator % 2 == 0)
{
lfRes -= lfNow;
}
else
{
lfRes += lfNow;
}
if (lfNow < 0.000001)
{
break;
}
lDenominator += 3;
}
printf("result is %g\r\n", lfRes);
}
int main()
{
double lfRes = 0.0;
int lDenominator = 1;
while (1)
{
double lfNow = 1.0 / lDenominator;
if (lDenominator % 2 == 0)
{
lfRes -= lfNow;
}
else
{
lfRes += lfNow;
}
if (lfNow < 0.000001)
{
break;
}
lDenominator += 3;
}
printf("result is %g\r\n", lfRes);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
您可能需要的服务
百度律临官方认证律师咨询
平均3分钟响应
|
问题解决率99%
|
24小时在线
立即免费咨询律师
14318人正在获得一对一解答
南京彩虹之旅3分钟前提交了问题
北京小白兔4分钟前提交了问题
苏州天空之城3分钟前提交了问题