C++程序求解

 我来答
c90a78
2012-10-08
知道答主
回答量:14
采纳率:0%
帮助的人:5.4万
展开全部
这是一个算法问题,do while,while,for仅仅是你使用的循环结构。
要求精度,嗯,其实double类型完全可以解决啊。
原式可以变换为1/0!+x/1!-x2/2!.....也就是说其实数据给1而后进行循环,循环内容是判断奇偶项,奇减,偶加,每一项都是xn/x!,判断条件是n也就是你的输入值。
结构基本就是
double calNum( int n )
{
int temp;
double result;
result = 0;
for( temp = 1; temp < n; ++temp )
{
if( n/2 == 0 ) // 偶数
{ ... } // 对应的相加部分,只是和奇数的情况符号不一样
else // 剩下的就是奇数的情况了
{ ... }
}

return result;
}
其实这样写比较麻烦
建议使用两个函数,这样代码可以少一些,但是,calNum这个函数的基本结构不变。
double calNum( int n, double beginNum )
{
int temp;
for( temp = 1; temp < n; ++temp )
{
if( n/2 == 0 ) // 偶数
beginNum += calUnit( temp ); // 另外定义的计算每一项绝对值的函数
else // 剩下的就是奇数的情况了
beginNum -= calUnit( temp );
}
return beginNum;
}
double calUnit( int numOrder )
{
...
return temp; // 这里的temp是一个double型数据
}
使用do while,while,for仅仅是结构和判别式不同,当然,效率上也有微小的差异(当然,这个我没有仔细研究过)

程序永远都需要自己亲手去写才有意义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
13003673250
2012-10-08
知道答主
回答量:24
采纳率:0%
帮助的人:14.7万
展开全部
double calNum( int n, double beginNum )
{
int temp;
for( temp = 1; temp < n; ++temp )
{
if( n/2 == 0 ) // 偶数
beginNum += calUnit( temp ); // 另外定义的计算每一项绝对值的函数
else // 剩下的就是奇数的情况了
beginNum -= calUnit( temp );
}
return beginNum;
}
double calUnit( int numOrder )
{
...
return temp; // 这里的temp是一个double型数据
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
畅快还非凡的白桦8388
2012-10-13
知道答主
回答量:64
采纳率:0%
帮助的人:12.8万
展开全部
反反复复
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式