一、问题及代码
/*
* 文件名称:1
* 作 者:刘璇
* 完成日期:2016年3月12日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:分别用3种循环(while~、for(;;)~、do~while)计算下式f=1-1/2!+1/3!+...+1/9!
* 输入描述:f=1-1/2!+1/3!+...+1/9!
* 问题描述:利用do-while循环,for循环,while循环.
* 程序输出:
* 问题分析:用内外两次循环,再用一次判断语句。
* 算法设计:
*/
#include<iostream.h>
main()
{
int a,b,x=1,k=1;
double y=0;
for(a=1;a<=9;a++)
{
for(b=1;b<=a;b++)
{
x*=b;
}
y+=k*1.0/x;
k=-k;
}
cout<<y<<endl;
return 0;
}
#include<iostream.h>
main()
{
int a,b,x=1,k=1;
double y=0;
while(a<=9)
{
while(b<=a)
{
x*=b;
b++;
}
y+=k*1.0/x;
k=-k;
a++;
}
cout<<y<<endl;
return 0;
}
#include<iostream.h>
main()
{
int a,b,x=1,k=1;
double y=0;
do
{
do
{
x*=b;
b++;
while(b<a);
}
y+=k*1.0/x;
k=-k;
a++;
while(a<9);
}
cout<<y<<endl;
return 0;
}
二、运行结果
三、心得体会:
要用两次循环分别完成阶乘和加减的计算,并引用K来调整正负。
四、知识点总结:
阶乘的运算需要循环实现,引用k调整正负,代替需要用判断语句来判断奇偶。