练习一
- 编写程序,求 2^2 + 4^2 + 6^2 +……+ n^2
(1) 直到累加和大于或等于10000为止,输出累加和
(2) 输出累加式的项数i,以及最大的的数n
问题分析
- 这是一个循环结构,但循环次数不定
- 循环结束条件为累加和大于或等于10000
- 根据要求,需要记录循环次数和最大累加项
由上图可知,i=21并不是系统的问题,而是程序还需要执行最后一项代码指令i=i+1.
下图修改了代码,且满足要求不再进行循环运算
练习二
- 编写程序,近似计算圆周率Π的值。
- 提示:Π/4=1-1/3+1/5-1/7+1/9……
- 要求分别(1)打印前100,1000,10000项计算的Π值
(2)打印最后一项的绝对值小于10的-6次方Π值
问题分析
- 这是一个数字近似问题,可使用循环结构解决
- 使用一个标记变量flog,初始值为1
- 每次循环计算1/(2*i-1),并乘以flog后累加
- 每次乘以flog变量乘以-1
实践操作
以上是程序循环100,1000,10000,100000,1000000次的结果 ,达到1000000次循环时近似Π的值.已经满足第一个要求了,但第二个条件还不行。
如下图
练习三
编写程序,求出2~100以内的所有指数
要求:将所有求出的指数打印到刷屏
问题分析
- 根据定义,质数x只能被1和x整除
- 通过循环遍历[2,x)之间的所有整数
- 没有任何一个整数可以除尽x,则x为质数
- 使用同样的方法可以求出2-100中的所有质数
编程小技巧
- while语句之间可以相互嵌套,构成多重循环
- while语句和if语句之间也可以相互嵌套
- if语句可看成只循环一次的while语句
- while语句可以看作扩展的if语句
while(…)
if(…)
while(…)
{
}
实践操作