#include<stdio.h>
#include<math.h>
int main()
{
int arr[1000]={0};
int i=0;
int num=2;
for(i=0;i<1000;i++,num++)
{
int j=0;
for(j=2;j<=sqrt(num);j++)
{
if(num%j==0)
{
break;
}
}
if(j>sqrt(num))
{
arr[i]=num;
}
else
{
i--;
}
}
int n=0;
while(scanf("%d",&n)==1)
{
char ch=getchar();
printf("%d",arr[n-1]);
if(ch!='\n')
{
printf(",");
}
else
{
printf("\n");
}
}
return 0;
}
主要功能已经帮你写好了,可以实现单个查询第N个素数
#include <stdio.h>
#include <math.h>
int prime( int p );
int main()
{
int a[1000];
int count=0;
int i=2,N;
while(count<=999)
{
if(prime(i))
{
a[count++]=i;
}
i++;
}
scanf("%d",&N);
printf("%d",a[N-1]);
return 0;
}
int prime( int p ) //判断素数
{
int i,flag=1;
if(p<=1)
return 0;
if(p==2)
return 1;
for(i=2;i<p;i++)
{
if(p%i==0)
{
flag=0;
break;
}
}
return flag;
}