这段程序为什么不能运行?

来源:百度知道 编辑:UC知道 时间:2024/07/05 03:23:14
/*输出3-1000的所有素数*/
#include <stdio.h>
main()
{
int x,k;
for(x=3;x<1000;x++)
{
for (k=2;k<x-1;k++)
{
if(x%k==0)
return x;
else
printf("%d\n",x);
}
return x;
}
}
在哪出错了?怎么改?帮下忙谢谢了!我是初学者。

试试下面这段,你的程序中错在对对素数的判断,另外,不能用return,如果用return语句的话会直接结束程序的运行,这样一执行便直接退出了……明白?
#include"stdio.h"
#include"math.h"
void main()
{
int m=0,i=0,k=0,n=0;
for(m=2;m<=1000;m++)
{
k=sqrt(m);
for(i=2;i<=k;i++)
{
if(m%i==0)
break;
}
if(i>=k+1)
{
printf(" %d",m);
n++;
if(n%5==0)
printf("\n");
}
}
printf("\n");
}

你找个 c的 学习qq群,一问就知道了

俺不懂.找个会C的问问吧。