C语言典型例题(二级考试) - 图文

例9:判断m是否素数

素数:除1和它本身之外再无别的约数;算法:判断m%i==0成立否?

i取值: 2~(m-1) 或:2~(int)m#include\main()

{intm,i,k;

printf(\m:\scanf(\&m);k=sqrt(m);

for(i=2;i<=k;i++)if(m%i==0)break;

if(i>k)printf(\isaprimenumber.\\n\m);elseprintf(\isnotprimenumber.\\n\m);}

例10:求100 ~200之间的全部素数,并控制换行。算法:外循环控制m取100 ~200之间的奇数。#include\main()

{intm,i,k,c=0;printf(\for(m=101;m<200;m=m+2){k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0)break;if(i>k)/*i>k成立表示未出现约数*/{printf(\m);c++;

if(c==0)printf(\}}}

111?1????...例11:用公式求?的近似4357值,直到最后一项的绝对值小于10-4 为止。

?考虑问题:

1) 需循环累加,但累加项数不确定;

2) 有规律的量

分母n的取值:1、3、5、7 …奇偶项符号s的变化:+、-、+、-3) 循环条件:fabs(t)>=10-4循环,t为某项值。

#include\main(){ints;

floatn,t,pi;

n=1.0;s=1;t=1./n;pi=0;while(fabs(t)>=1e-4)/*判断某项*/{pi=pi+t;/*累加和*/n=n+2.0;/*改变分母*/s=-s;/*符号变反*/t=s/n;}/*计算下一项*/printf(\pi*4);getch();}

联系客服:779662525#qq.com(#替换为@)