4.1循环控制
4.1.1循环控制:如何用break和continue来控制循环
例子:素数
- 只能被1和自己整除的数,不包括1
#include <stdio.h>
int main()
{
int n,i;
scanf("%d",&n); //输入n
int isPrime = 1; //判断是否为素数的标志
for ( i=2; i<n; i++)
{
if( n % i == 0)
{
isPrime = 0;
break;
}
}
if( isPrime == 1)
{
printf("是素数\n");
}else
{
printf("不是素数\n");
}
return 0;
}
break vs continue
- break: 跳出循环
- continue: 跳过循环这一轮剩下的语句进入下一轮
4.1.2嵌套的循环
例子:100以内的素数
- 如何写程序输出100以内的素数?
#include <stdio.h>
int main()
{
int n,i;
for( n=2; n<100; n++ ) //输入n
{
int isPrime = 1; //判断是否为素数的标志
for ( i=2; i<n; i++)
{
if( n % i == 0)
{
isPrime = 0;
break;
}
}
if( isPrime == 1)
{
printf("%d ", n);
}
}
return 0;
}
- 循环里面还是循环
例子:前50个素数
- 如何写程序输出前50个素数。
#include <stdio.h>
int main()
{
int n,i;
int cnt = 0; //计算素数的个数
for( n=2; cnt<50; n++ ) //输入n
{
int isPrime = 1; //判断是否为素数的标志
for ( i=2; i<n; i++)
{
if( n % i == 0)
{
isPrime = 0;
break;
}
}
if( isPrime == 1)
{
printf("%d ", n);
cnt++;
}
}
return 0;
}
4.1.3嵌套循环时的break
- 只能对它所在的那层循环做。