求1到100间的素数,这样编,运算结果不正确,错在哪?

来源:百度知道 编辑:UC知道 时间:2024/05/13 00:54:41
#include"stdio.h"
void main()
{int m,i,s;
for(m=1;m<=100;m++)
{for(i=1;i<m;i++)
if(m%i==0) ++s;
if(s==1)printf("%d:S ",m);}
}
新帐户,只这么多分,谢谢~

你的s没赋初值,每次记完一个数后s应该再置零
int m,i,s=0;
for(m=1;m<=100;m++)
{for(i=1;i<m;i++)
if(m%i==0) ++s;
if(s==1)printf("%d ",m);
s=0;}

#include <stdio.h>
main()
{
int i,m,j,flag=0,xx[100];
for(i=5;i<100;i++)
{
m=i/2;
for(j=2;j<=m;j++)
{
if(i%j==0) break;

if(j==m){
xx[flag]=i;
flag++;
}
}
}
for(j=0;j<flag;j++)
{
printf(" %d",xx[j]);
}
}

你的程序 跟本就没有值赋给数组