第11周报告1:
实验目的:学会使用循环控制语句解决实际问题,并强化注重效率的观念
实验内容:用循环控制语句编写程序,完成表达式的计算
/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: f=1-1/2!+1/3!-...+1/9!的程序设计
* 作 者:2011级114-3 张宗佳
* 完成日期:2011年 11 月 02 日
* 版 本 号:vc.0
* 对任务及求解方法的描述部分
* 输入描述:无
* 问题描述:求 f=1-1/2!+1/3!-...+1/9!
* 程序输出:三种循环语句构造的程序求得的结果
* 问题分析:……
* 算法设计:为了提高效率,用单重循环完成,不用求幂函数pow()。……
*/
#include <iostream>
using namespace std;
int main( )
{
const int n = 9;
double f = 0, sign = 1, i = 1, j = 1;
//用while循环求解
while (i <= n)
{
f = f + 1/(j * sign);
i++;
sign = sign*(-1);
j = j * i;
}
cout << "(1)用while循环求解,f的值为:" << f << endl;
//用for循环求解
for( i = 1.0; i <= n; i++, sign = sign * (-1),j = j * i) f = f + 1 /(j * sign);
cout << "(2)用for循环求解,f的值为:" << f << endl;
//用do~while循环求解
do
{
f = f + 1 / (j * sign);
i++;
sign = sign * (-1);
j = j * i;
}while(i <= n);
cout << "(3)用do~while循环求解,f的值为:" << f << endl;
cout << "(4)三种循环殊途同归,灵活运用是关键!" << endl;
return 0;
}
实验结果:
经验积累:
1.将三种循环语句编写到一个程序中,这三种循环之间是不用“{}”连接的
2.while,do while,for三种循环结构有各自的特点,虽然形式不同,但意思是相通的,可以灵活去运用
上机感言:一开始看到这个题目,还以为是把这三种结构分三次写,问过老师后才明白原来可以把他们编到同一个程序中去,只是,在前两种循环编写完成后不需要加"return 0"和大括弧了,这样就可以让这三种语法同时在同一个程序中运算出来了,吼吼~~