从键盘任意输入一个整数m,若m不是素数,则计算并输出m的所有因子(不包括1),

例如对于16,输出2、4、8;否则输出“m是素数!”。要求:判断素数必须使用自定义函数实现,m通过主函数输入。对函数这块学的可差,正在学,不过这是作业,急着交。

#include<stdio.h>

#include<math.h>

int isprime(int n)

{

int i;

for(i=2;i<=sqrt(n);i++)

if(n%i==0)return 0;

}

int main()

{int n,i,j=0;

scanf("%d",&n);

if(isprime(n))

printf("No divisor! %d is a prime number",n);

else

{i=2;

while(i<=n/2)

{

if(n%i==0)

{

if(j)printf("、");

printf("%d",i);

j=1;

}

i++;

}

}

return 0;

}

扩展资料

#include <stdio.h>

#include <math.h>

void main()

{

int IsPrime(int m);

int n, flag;

printf("Input n:");

scanf("%d", &n);

flag = IsPrime(n);

if ( flag)

printf("它是素数\n");

else

printf("它不是素数\n");

}

int IsPrime(int m)

{

int i, k;

if (m <= 1)

return 0;

for (i=2; i<(int)sqrt(m); i++)

{

k = m%i;

if ( k==0)

{

return 0;

}

}

return 1;

}

参考资料:百度百科 - 素函数

温馨提示:答案为网友推荐,仅供参考
相似回答