问题 填空题

下列给定的程序中,函数fun()的功能是:计算并输出k以内最大的6个能被7或11整除的自然数之和。K的值由主函数传入,若k的值为500,则函数的值为2925。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> #include <conio.h> int fun(int k) { int m=0,mc=0,j; /*************found*************/ while(k>=2)&&(mc<6) { /*************found*************/ if((k%7=0)||(k%ll=0)){ /*************found**************/ m=k; mc++;} k--; } return m; } main() { clrscr(); printf("%d\n",fun(500)); }

答案

参考答案:(1)错误:while(k>=2)&&(mc<6) 正确:while((k>=2)&&(mc<6))

解析:(2) 错误:if((k%7=0)||(k%11=0)) 正确:if((k%7==0)||(k%11=0)) (3) 错误:m=k 正确:m=m+k; 错误1:C语言规定while语句后的表达式两侧必须要有圆括号。错误2:if语句的判断条件应用关系运算符,而不是赋值运算符。错误3:根据题意,将满足条件的数求累加和。

填空题
单项选择题