将100~300之间的所有素数找出来,存a数组中,并将其从大到小排列,放于c数组中保存且输出.
要求用c语言调用函数求
//一开始给的没有说清楚,早上起来修改一下
int IsPrime(n)
int n;
{
int i;
if (n==2) //模裂排除n为2
return(1);
if (n%2==0) //排除n为偶数
return(0);
for(i=3;i<=n/2+1;i+=2) //n/2+1可以换为sqrt(n)+1;注意#include <math.h>
if (n%i==0) //所有的偶数都不是质数(排除了2),每循环一茄局次i加2,比如4,6就不用考虑整除n了
return(0);
return(1);
}
main()
{
int c[100];
int n = 0;
int i;
for (i=300;i>旦纳闭=100;i--)
if (IsPrime(i))
c[n++] = i;
for (i=0;i<n;i++)
printf("%d\t",c[i]);
}
#include<math.h>
main()
{ int m,k,i,n=0;
for(m=101;m<=300;m=m+2)
{ k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k+1)
{printf("%d"樱旅,m);n=n+1;}
if(n%10==0)printf("\n"脊掘凳);
}
printf("\n"散老);
}
/*已经唤世上机通过调试*/脊链和
#define N 200
ss(int a)
{
int c;
for(c=2;c<樱盯a;c++)
if(a%2==0)return(0);
if(c=a)return(1);
}
main()
{
int i, k,p=0,a[N];
for(i=300;i>100;i--)
{
k=ss(i);
if(k==1){printf("%d\n",i);a[p++]=i;}
}
getch();
}