您的位置:首页 > 编程语言 > C语言/C++

c++第1次实验-3

2016-03-11 14:30 441 查看
一、问题及代码

/*
* 文件名称:123
* 作    者:潘雨佳
* 完成日期:2016年3月11日
* 版 本 号:codeblocks
* 对任务及求解方法的描述部分:
* 输入描述:用三种循环求f=1/1!-1/2!+1/3!-...+1/9!
* 问题描述:无
* 程序输出:0.632121
* 问题分析:略
* 算法设计:略
*/

#include <iostream>

using namespace std;

int main()
{
int i(1),j(1),k(1);
double x(1),y(0);
while(i<10)
{
while(j<=i)
{
x=x*j;
j++;
}
y=y+k*(1.0/x);
k=-k;
i++;
}
cout<<y<<endl;
return 0;
}
***********************************
#include <iostream>
using namespace std;
int main()
{
int i(1),j(1),k(1);
double x(1),y(0);
do
{
do
{
x=x*j;
j++;
}while(j<=i);
y=y+k*(1.0/x);
k=-k;
i++;
}while(i<10);
cout<<y<<endl;
return 0;
}
***********************************
#include <iostream>
using namespace std;
int main()
{
int i,j,k(1);
double x(1),y(0);
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
{
x=x*j;
}
y=y+k*(1.0/x);
k=-k;
x=1;
}
cout<<y<<endl;
return 0;
}


二、运行结果



三、心得体会

三种方法用的同一个思路,细节方面总是有漏洞,逻辑思维不够清楚明白,但最后还是解决了问题。

四、知识点总结

for循环中x要重新赋值1,赋值可以用int
i(1)的方式,奇偶项符号不同可以另外定义一个k使每次循环k=-k。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: