2 循环结构

1:求2100之间的所有素数,并输出。

判断某一个数是素数的方法为:设某一个数为aa除了能表示为他自己和1的乘积以外,不能表示为任何其他两个整数的乘积。例如。15就不是素数,13是素数。

#include <stdio.h>

#include <math.h>

 

main()

{

    int n, i, j, flag, x = 0;

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

    {

           flag=1;

           j=2;//遍历2以上N的平方根以下的每一个素数,是不是能整除N;

           n = (int)sqrt((double)i);

           while(flag && j<=n)

           {

                  if(i%j ==0)//表明当前待验证的数字(i)能被j整除,当然不是素数。

                  {

                         flag=0;//标志位设置为0,表示该数(i)不是素数

                  }

                  j++;

           }

           if(flag)//如果该标志位是1,表示是素数,否则不是素数

           {

                  printf("%d, ", i);

                  x++;

                  if(x%5 == 0)

                  {

                         printf("/n");

                  }

           }

    }

}

2.2.5 breakcontinue在循环结构中的应用

1break语句在循环语句中,其作用是跳出本层循环,转去执行循环语句后面的程序。使用break语句可以使循环语句有多个出口,使程序避免了一些不必要的的重复,提高了程序效率。

1

for(n=0,s=0;n<10;n++)

{

    scanf(“%d”, &x);

    if(x<0)

    {

           break;

}

s += x;

}

2

n=0;

s=0;

while(n<10)

{

    scanf(“%d”, &x);

if(x<0)

    {

break;

}

s += x;

n ++;

}

3

n=0;

s=0;

do

{

    scanf(“%d”, &x);

    if(x<0)

    {

           break;

}

s += x;

n ++;

}while(n<0);

2continue语句只能用在循环结构中,其作用是结束本次循环,即不再执行循环体中continue语句之后的语句,而是立即转入对循环条件的执行与判断。

1

for(n=0, s=0; n<10; n++)

{

    scanf(“%d”, &x);

    if(x<0)

{

           continue;

}

s += x;

}

2

int x, n=0, s=0;

while(n<10)

{

scanf(“%d”, &x);

if(x<0)

{

    continue;

}

}

3

int x, n =0, s = 0;

do

{

    scanf(“%d”, &x);

    if(x<0)

    {

           continue;

}

s += x;

n ++;

}while(n<10);

3breakcontinue的区别

continue只结束本次循环,而不是终止整个循环的执行。

break语句则是结束整个循环过程,不再判断执行循环条件是否成立。

2.2.6 goto语句

不要学。不符合C语言的特点。知道就可以了。

main()

{

    int sum = 0, i =1;

    loop: sum = sum + i;

    i ++;

    if(i<=100)

    {

           goto loop;

}

printf(“sum=%d”, sum);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值