素数程序改错

来源:百度知道 编辑:UC知道 时间:2024/05/25 16:30:18
#include <stdio.h>
int pdss (int m);

void main()
{
int i;

for (i = 101; i <= 200; i = i + 2)
{
if (pdss(i) == 1)
{
printf("%d\t", i);
}
}
}

/*
函数功能:判断一个整数是否为素数
函数参数:参数m,整型,待判断的整数
函数返回值:整型。返回1,为素数;返回0,为素数
*/
int pdss (int m)
{
int k, j, n;

k = sqrt(m);
for (j = 2; j <= k; j++)
if (m % j == 0)
break;
if (j >= k + 1)
{
return 1;
n = n + 2;
}
else
{
return 0;
}
}


#include <stdio.h>
#include<math.h>/*要包含才能用sqrt求开方*/
int pdss (int m);

void main()
{
int i;
for(i = 101;i<=200;i=i+2)
{
if(pdss(i)==1)
{
printf("%d\t", i);
}
}
}

int pdss (int m)
{
int k, j, n;
k = sqrt(m);
for (j = 2; j <= k; j++)
if (m % j == 0)
break;
if (j >= k + 1)
{
return 1;
n = n + 2; /*你的n是做什么的?都返回1了,还加。。。而且你的n没有初值*/
}
else
{
return 0;
}
}

1