5楼的更正一下,有点问题
#include<math.h>#include<stdio.h>
int prime(int n) //判断素数
{
int i;
if(n%2==0) //如果N是偶数
return 0;
double k=sqrt(n+1);
for(i=3;i<k;i+=2)//i+=2是因为没必要考虑能整除偶数,前面没已经排除了
if(n%i==0)
return 0;
return 1;
}
int main()
{
int i,j,k=1,a[100]={0},m;
a[0]=2;
for(i=3;i<100;i+=2)
{
if(prime(i))
a[k++]=i;
}
for(i=0;a!=0;i++)
printf("%d\t",a);
printf("\n");
return 0;
}
----------------解决方案--------------------------------------------------------
晕哦,代码好像被人改了一下一样
#include<math.h>
#include<stdio.h>
int prime(int n) //判断素数
{
int i;
if(n%2==0) //如果N是偶数
return 0;
double k=sqrt(n+1);
for(i=3;i<k;i+=2)//i+=2是因为没必要考虑能整除偶数,前面没已经排除了
if(n%i==0)
return 0;
return 1;
}
int main()
{
int i,j,k=1,a[100]={2},m;
for(i=3;i<100;i+=2)
{
if(prime(i))
a[k++]=i;
}
for(i=0;a[i]!=0;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}
----------------解决方案--------------------------------------------------------
上面的代码``有人运行过吗````好恐怖啊````
----------------解决方案--------------------------------------------------------
算法还可以```但是却把数组没掌握好啊```要小改一下哦 ``
for(i=0;a!=0;i++)
printf("%d\t",a);
改:
a[k]=0;
for(i=0;a[i]!=0;i++)
printf("%d\t",a[i]);
----------------解决方案--------------------------------------------------------
到底是怎么回事啊,我输入的时A[I],他怎么给我改成A了:@
----------------解决方案--------------------------------------------------------
#include<math.h>
#include<stdio.h>
int prime(int n) //判断素数
{
int i;
if(n%2==0) //如果N是偶数
return 0;
double k=sqrt(n+1);
for(i=3;i<k;i+=2)//i+=2是因为没必要考虑能整除偶数,前面没已经排除了
if(n%i==0)
return 0;
return 1;
}
int main()
{
int i,j,k=1,a[100]={2},m;
for(i=3;i<100;i+=2)
{
if(prime(i))
a[k++]=i;
}
for(i=0;a[i]!=0;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}
晕,我再发一次试试
----------------解决方案--------------------------------------------------------
我算是服了:@
----------------解决方案--------------------------------------------------------
回复 14# 的帖子
不用加那一句,我初始化的时候,数组后面已经全部是0了 ----------------解决方案--------------------------------------------------------
程序代码:
#include<math.h>
#include<stdio.h>
int prime(int n) //判断素数
{
int i;
if(n%2==0) //如果N是偶数
return 0;
double k=sqrt(n+1);
for(i=3;i<k;i+=2)//i+=2是因为没必要考虑能整除偶数,前面没已经排除了
if(n%i==0)
return 0;
return 1;
}
int main()
{
int i,j,k=1,a[100]={2},m;
for(i=3;i<100;i+=2)
{
if(prime(i))
a[k++]=i;
}
for(i=0;a[i]!=0;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}
----------------解决方案--------------------------------------------------------
程序代码:
#include<math.h>
#include<stdio.h>
int prime(int n) //判断素数
{
int i;
if(n%2==0) //如果N是偶数
return 0;
double k=sqrt(n+1);
for(i=3;i<k;i+=2)//i+=2是因为没必要考虑能整除偶数,前面没已经排除了
if(n%i==0)
return 0;
return 1;
}
int main()
{
int i,j,k=1,a[100]={2},m;
for(i=3;i<100;i+=2)
{
if(prime(i))
a[k++]=i;
}
for(i=0;a[i]!=0;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}
再发一下
----------------解决方案--------------------------------------------------------