一.题目要求
二.执行代码
#include<stdio.h>
int main()
{
int n;
int x;
int count=0; //统计素数个数
int min,max;
int sum,t;
scanf("%d %d",&min,&max);
for(n=2;;n++) //死循环从2开始枚举找素数
{
int i;
int mk=1;
for(i=2;i<n;i++) //遍历
{
if(n%i==0) //判断是不是能被其整除
{
mk=0;
break; //跳出第一个for循环
}
}//执行break语句过后 程序会从这开始运行
if(mk==1) //判断是不是素数
{
count+=1; //统计素数个数
t=n; //记录第count个素数的值,如果此时count=1,那么就是第一个素数的值也就是2
if(count>=min&&count<=max) //判断素数的位置是不是位于你输入的闭区间之内
{
sum+=t;//记录该闭区间内所有素数和
}
if(count>max) //判断个数是否超出该区间范围
{
goto out; //跳到离他最近的out:位置后面开始执行语句
}
}
}
out: //执行goto out;语句后,程序从他后面开始继续执行
printf("%d",sum);
return 0;
}
我的这个解决办法是有缺点的哦,那就是引入太多变量,其他解法我就不写了,大家可以想想不用goto语句又该如何解决
三.goto 语句拓展
上述代码中goto语句命令格式为
goto 参数; 参数:
我主要是想说goto后面参数是自己定的不一定是out