改错题 下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include
#include
/********found********/
IsPrime(int n);
{
int i, m;
m = 1;
/********found********/
for (i=2; i if !(n%i)
{
m = 0;
break;
}
return(m);
}
main()
{
int j, k;
printf("\nplease enter an integer number between 2 and 10000:");
scanf("%d", &k);
printf("\n\nThe prime factor(s) of %d is(are):", k);
for (j=2; j if ((!(k%j)) && (IsPrime(j)))
printf(" M,", j);
printf("\n");
}
第1处:Isprime(int n);应改为Isprime(int n)
第2处:if !(n%i)应该为if(!(n%i))