代码如下:
#include<stdio.h>int main() {
int num[10] = { 2 }, idx = 1
for (int i = 3 idx != 10 i++) {
int flag = 1
for (int j = 0 j*j <= i && j < idx j++) {
if (i%num[j] == 0) {
flag = 0
break
}
}
if (flag) num[idx++] = i
}
for (int i = 0 i < 10 i++)
printf("%d ", num[i])
printf("\n")
}
#include <stdio.h>int fun(int t) //检查a[i]是否为素数{ int iif(t<=1) //两种特殊情况 return 0if(t==2)return 1for(i=2i<t/2+1i++) { if(t%i==0) //若能被整除,则返回0 return 0} if(i>=t/2) //若不能整除,则返回1 return 1}void main(){ int i=0,j=0,a[]={23,38,49,36,31,61,45,28},b[10]={0}while(a[i]) { if(fun(a[i])) //若返回1,则将其复制到数组b[]中 b[j++]=a[i] i++} for(j=0b[j]j++) //输出数组b printf("%4d",b[j])}100当中有50个偶数,除了2外其他的都一定不是素数,于是100以内的素数应该少于50个,我们就以a[50]来存放这些素数吧.还有1不是素数。main()
{
int a[50]
int i=5,j=3,m=1
a[0]=2a[1]=3
for(i=5i<100i=i+2)
loop1: for(j=3j<ij++)
loop2:
if(i%j==0)
{i=i+2goto loop1}
else
{if(j==i-1)
a[++m]=i
else
{j++goto loop2}
}
/*来验证一下是否正确*/
printf("%d\n",m)/*看看有多少个素数*/
for(i=0i<=mi++)
printf("%d\t",a[i])
}