c语言,输出1到1000的非素数

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:49:00
用for循环和if条件语句
哦 ,谢谢了 不过好多这里面好多东西我都还没有学呢,请问能不能帮我用简单一点的语句来写这个程序呢…… 呵呵

我就站在你的角度写个程序吧
#include <stdio.h>
#include <math.h>
int main()
{

int i,j,m;
for(i=1;i<=1000;i++)
{ m=0; /*标记是否为素数 0代表为素数 1代表为非素数*/
for(j=2;j<=sqrt(i);j++)
if(i%j==0) m=1; /*符和条件 就m=1 */
if(m==1) /*判断m=1 来决定是否输出结果*/
printf("%d ",i);
}
}
不懂的可以用百度HI问 我目前在线

bool isprime(int n)
{
if (n==2)
return true;
if (n%2==0||n<2)
return false;
int tmp=(int)sqrt((double)n);
for (int i=3;i<=tmp;i+=2)
{
if (n%i==0)
return false;
}
return true;
}
void main()
{
int i;
for (int i=1;i<=1000; i++)
{
if (isprime(i))
else
printf("%d\n",i);
}
}