下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传人,若k的值为500,则函数的值为4622。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C

admin2016-12-06  24

问题 下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传人,若k的值为500,则函数的值为4622。
    请改正程序中的错误,使它能得出正确的结果。
    注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
    试题程序:
1   #include<stdio.h>
2   #include<conio.h>
3   #include<stdlib.h>
4   int fun(int k)
5   {int m=0,mc=0,j;
6  while((k>=2)&&(mc<10))
7   {
8   /*********found*********/
9    if((k%13=0)||(k%17=0))
10    {m=m+k;mc++;}
11    k--;
12    /*********found*********/
13    return m;
14   }
15   void main()
16   {system(’’CLS’’);
17   printf(’’%d\n’’,fun(500));
18   }

选项

答案(1)jf((k%13==0)||(k%17==0)) (2)} return m;

解析 (1)C语言中,x能被y整除的表示方法是x%y==0,而不是题目中所表示的x%y=0。所以,if((k%13=0)||(k%17=0))修改后的结果应该是答案所示信息。
    (2)程序中缺少程序完整所需的’’}’’,此类信息在做题时一定要注意,可以在做题前先运行一下程序,这样明显的错误一般都会有错误信息显示出来。比如丢失’’}’’的错误信息是’’Compound statementmissing } in function fun’’。
转载请注明原文地址:https://kaotiyun.com/show/DNDp777K
0

最新回复(0)