第五周:循环控制
一.循环控制
1.素数:只能被1和自己整除的数,不包括1 ,1不是素数,比如2,3,5,7,11,13,17,19
判断是否为素数
#include<stdio.h>
int main()
{
int a,i;
int b=1;//用来判断数字是否为素数后让程序不会一直输出“这个数不是素数”
printf("请输入一个整数:\n");
scanf("%d",&a);
for(i=2;i<a;i++)//因为判断条件中i是逐步增加来判断a是否为素数,所以就用for,i<a等价于i<=a;这个i一定要定义
{
if(a%i==0){
b=0;
break;//break可以让程序不再判断是否为素数,因为已经判断完了
}
}
if(b==0){
printf("这个数字不是素数\n");//b==0一定要写对,不要写成b=0
}else{
printf("这个数字是素数\n");
}
return 0;
}
2.break vs continue
break:跳出循环,到下一个语句
continue:跳过循环这一轮剩下的语句进入下一轮循环
二.多重循环
1.写出程序输出100以内的素数
#include<stdio.h>
int main()
{
int x,i;
for(x=2;x<100;x++){
int a=1;//a=1一定要放在循环里面,放在整个循环外时,当运算到4时a就一直是0,后面的结果都不能得出,只能得出2,3
for(i=2;i<x;i++){
if(x%i==0){
a=0;
break;
}
}
if(a==1){
printf("%d\n",x);
}
}
printf("\n");
return 0;
}
求前五十个素数
#include<stdio.h>
int main()
{
int x=2,i,nut=0;
while(nut<50)
{
int a=1;
for(i=2;i<x;i++){
if(