编写一个程序,输出1000~2000之间第一个素数,

怎么做啊,大佬们,做了好久,只能做出输出所有素数

代码如下

#include<stdio.h>
int main()
{   int n;
    for(n=1001;;n+=2)
      if(isprime(n))break;
    printf("%d\n",n);
    return 0;
}
int isprime(int n)
{   
    int i;
    for(i=2; i*i<=n; i++)
        if(n%i==0)return 0;
    return n>1;
}

测试结果如图

img


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
    
    int i,j;
    int flag;//标识某个数是不是素数
    //i代表2到100之间的数 
    for(i=1000;i<=2000;i++){ 
        //内循环判断i是不是素数 
        flag = 0;//默认i是素数
        for(j=2;j<10;j++){
            if((i!=j) && (i % j == 0)){
                flag = 1;//表示i不是素数 
                break;
            }
        } 
        if(flag==0){ //flag=0表示i是素数 
            
            printf("%d\t",i);
            break;
        }
    } 
    
    return 0;
}

#include <stdio.h>
int isprime(int n)
{
    for(int i=2;i*i<=n;i++)
        if(n%i==0)
            return 0;
    return 1;
}
int main()
 {
    for(int i=1000;i<=2000;i++)
    { 
          if(isprime(i))
          {
              printf("%d",i);
              break;
          }
    } 
    return 0;
}
 

img


#include <stdio.h>
int main()
{
    int i,t;
    for (i=1000;i<=2000;i++)
    {
        for (t=2;t<i;t++)
        {
            if(i%t==0)
                break;
        }
        if(t==i)
        {
            printf("%d",i);
            return 0;
        }
    }
    return 0;
}