本章学习了while 语句、do…while 语句和for 语句,这些循环语句不仅可以各自嵌套,也可以相互嵌套。
(1) while 与do…while 嵌套。格式为:
(2) while 与for 嵌套。格式为:
(3) do…while 与for 嵌套。格式为:
【例5-16】输入两个数字字符,编写程序,将其转换为十进制后显示出来。
程序运行时,输入字符串:
abc2def3↙
运行程序后,输出结果为:
data = 23
说明:程序中的if 语句用于排除数字字符之外的其他字符,只有是数字字符时,才跳出while 语句,执行转换成十进制数字的语句。data = data*10 + ch-'0';是将字符转换成数字的一般格式语句。
【例5-17】将一个正整数分解质因数。例如,输入90,打印出90 = 2*3*3*5。
程序分析:
对n 分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(www.xing528.com)
(1) 如果这个质数恰好等于n,则说明分解质因数的过程已经结束,打印出来即可。
(2) 如果n≠k,但n 能被k 整除,则应打印出k 的值,并用n 除以k 的商作为新的正整数n,重复执行第(1)步。
(3) 如果n 不能被k 整除,则用k + 1 作为k 的值,重复执行第(1)步。
程序设计如下:
程序运算结果为:
please input a number:
49 = 7*7
对于循环嵌套,需要说明以下几点:
使用嵌套,一个循环结构应完整地嵌套在另一个循环体内,循环体间不能交叉。例如:
这种表达式方式是错误的。
嵌套的外循环与内循环的循环控制变量不能同名,并列的内外循环控制变量可以同名。下列代码中:
for 循环的三层嵌套,分别使用三个循环控制变量i、j、k,不能相同。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。