c语言题目:输出0~100之间的全部素数.谁懂请帮忙做.

如题所述

第1个回答  2009-06-01
#include <stdio.h>

int isPrime(int n)
{
int j;
for(j=2;j<n;j++)
{ if(n%j==0) break; }
if(j==n)
return 1;
else
return 0;
}

void main()
{
int i;
int flag=0;
printf("0-100之间的素数为:\n");
for(i=0;i<=100;i++)
{
flag=0;
flag=isPrime(i);
if(flag==1)
printf("%d ",i);
}
printf("\n");

}
第2个回答  2012-12-20
#include "stdio.h"
int main()
{
int i,j;
for(i=2;i<=100;i++)
{
for(j=2;j<=i;j++)
{
if(i%j==0) break;
}
if(j==i) printf("素数:%d\t",i);
}
return 0;
}
/* 望采纳
因为2也是素数,所以推荐答案有误。
虽然有人回答正确了,可是我觉得代码太繁琐了,所以写了一个简单的,容易看懂。*/
第3个回答  2009-06-01
刚好昨天才写了一个。汗。。那个max的值可以修改,就是比如你改成1000,就是求1000以下的素数。

#include <iostream>
#include <stdlib.h>
using namespace std;

#define max 100
int prime[max];
int x=0;
int main()
{
for(int i=3;i<max;i++)
{
for(int j=2;j<i;j++)
{
if(i%j==0)
{
prime[x]=0;
break;
}
else prime[x]=i;
}
if(prime[x]!=0)
x++;
}
for(int t=0;t<max&&prime[t]!=0;t++)
{
cout<<prime[t]<<" ";
}
return 0;
}本回答被网友采纳
第4个回答  2009-06-01
#include "stdio.h"
#include "conio.h"
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=1;m<100;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{
leap=0;
break;
}
if(leap)
{
printf("%-4d",m);
h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
getch();
}
经模拟环境测试,绝无问题!!
第5个回答  2009-06-01
#include <stdio.h>
#include <math.h>
int main()
{
int i,j;
for(i=1;i<100;i++)
{
int sign=0;
for(j=2;j<sqrt(i);j++)
if(i%j==0)
{
sign=1;
break;
}
if(!sign)
printf("%d ",i);
}
printf("\n");
return 0;
}
已经测试。呵呵
相似回答