C语言循环控制语句(三)

文章作者 100test 发表时间 2007:03:10 17:45:33
来源 100Test.Com百考试题网


[例3-17]计算半径为1到15的圆的面积,仅打印出超过50的圆面积。
#include
main()
{
int r.
float area.
for(r=1.r<=5.r )
{
area=3.141593*r*r.
if(area<50.0)
continue.
printf("square=%f",area).
}
}
结果为:
RUN
square=50.265488
square=78.539825
同break一样,continue语句也仅仅影响该语句本身所处的循环层,而对外层循环没有影
响。
3.4.5程序应用举例
[例3-18]验证哥德巴赫猜想:任一充分大的偶数,可以用两个素数之和表示,例如:
4=2 2
6=3 3
......
98=19 79
哥德巴赫猜想是世界著名的数学难题,至今未能在理论上得到证明,自从计算机出现后,人们就开始用计算机去尝试解各种各样的数学难题,包括费马大定理、四色问题、哥德巴赫猜想等,虽然计算机无法从理论上严密地证明它们,而只能在很有限的范围内对其进行检验,但也不失其意义。费马大定理已于1994年得到证明,而哥德巴赫猜想这枚数学王冠上的宝石,至今无人能及。
分析:我们先不考虑怎样判断一个数是否为素数,而从整体上对这个问题进行考虑,可
以这样做:读入一个偶数n,将它分成p和q,使n=p q。怎样分呢?可以令p从2开始,每次加1,而令q=n-p,如果p、q均为素数,则正为所求,否则令p=p q再试。
其基本算法如下:
1)读入大于3的偶数n。
2)P=1
3)do{
4)p=p 1;q=n-p.
5)p是素数吗?
6)q是素数吗?
7)}whilep、q有一个不是素数。
8)输出n=p q。
为了判明p、q是否是素数,我们设置两个标志量flag p和flag q,初始值为0,若p是素数,
令flag p=1,若q是素数,令flag q=1,于是第7步变成:
7)}while(flag p*flag q==0).

相关文章


计算机二级辅导:C语言条件控制语句(三)
C语言循环控制语句(二)
C语言循环控制语句(三)
C语言循环控制语句(一)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛