问答题 下列给定程序的功能是:读入一个整数k(2≤k≤10000),输出它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出:2,3, 5,7,11。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < conio.h >#include < stdio.h >/*********found*********/IS Prime(int n);{ int i,m; m=1; for(i=2;i < n;i++)/*********found*********/ if! (n%i) {m=0;break;} return(m);}main(){ int j,k; printf ("/nPlease enter aninteger number between 2and 1 0000:"); scanf("%d",&k); printf f"/n、nThe prime factot(s)of%d is(are):",k); for(j=2;j < k;j++) if((!(k%j))&&(IsPrirae(j))) printf("%4d,",j); printf("/n");}
【正确答案】正确答案:(1)IsPrime(int n) (2)if(!(n%i))
【答案解析】解析:本题考查:函数定义的格式;if条件的判断语句,这些知识点必须掌握,因为经常考到。 (1)函数定义格式错误,函数定义时后面不能加 “;”,所以应该去掉分号。 (2)根据题意可知,if条件语句判断n是否可以整除i,如果不能整除则为质因子,所以iff (n%i)应改为if(!(n%i))。