一、问题及代码:
/*
* 文件名称: 01.c
* 作 者: 郭宇辉
* 完成日期:2016 年 03 月 11 日
* 版 本 号:v6.0
* 对任务及求解方法的描述部分:
* 输入描述:
* 问题描述:4.利用循环输出如下图形。
分别用3种循环(while~、for(;;)~、do~while)计算
f=1-1/(2!)+1/(3!)-...+1/(9!) = ?
* 程序输出:
* 问题分析:
* 算法设计:循环
*/
#include <iostream.h>
long fac1(int n);
int fac2(int n);
第一种: for 循环
int main()
{
double sum=0.0;
for(int i=1;i<=9;i++)
{
sum+=fac2(i)*(1.0/fac1(i));
}
cout<<"f=1-1/(2!)+1/(3!)-...+1/(9!) = "<<sum<<endl;
return 0;
}
/* 第二种 : while 循环
int main()
{
double sum=0.0;
int i(1);
while(i<=9)
{
sum+=fac2(i)*(1.0/fac1(i));
i++;
}
cout<<"f=1-1/(2!)+1/(3!)-...+1/(9!) = "<<sum<<endl;
return 0;
}
*/
/* 第三种 : do~while 循环
int main()
{
double sum=0.0;
int i(1);
do
{
sum+=fac2(i)*(1.0/fac1(i));
i++;
}while(i<=9);
cout<<"f=1-1/(2!)+1/(3!)-...+1/(9!) = "<<sum<<endl;
return 0;
}
*/
long fac1(int n)
{
long f=1;
for(int i=1;i<=n;i++)
{
f*=i;
}
return f;
}
int fac2(int n)
{
int a=-1,i;
for(i=1;i<=n;i++)
{
a*=-1;
}
return a;
}
二、运行结果:
三、心得体会:
对三种循环体和C++都加深了了解
四、知识点总结:
三种循环体