问答题 下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传人,若k的值为500,则函数的值为4622。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MOD11.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include < stdio.h >#include < conio.h >#include < atdlib.h >int fun(int k){int m=0,mc=0,j; while((k >=2)&&(mc < 1 0)) {/*********found*********/ if((k%13=0)||(k%17=0)) {ra=m+k;mc++;) k一一j/*********found*********/ return m;}void main(){system("CLS"); printf("%ct/n",fun(5 00));}
【正确答案】正确答案:(2) } retum m,
【答案解析】解析:(1)C语言中,x能被y整除的表示方法是x%y==0,而不是题目中所表示的x%y=0。所以,if ( (k%13 =0)||(k%17 =0))修改后的结果应该是答案所示信息。 (2)程序中缺少程序完整所需的"}",此类信息在做题时一定要注意,可以在做题前先运行一下程序,这样明显的错误一般都会有错误信息显示出来。比如丢失"}"的错误信息是"Compound statementmissing}in function fun"。