下列给定的程序中,函数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:根据题意,将满足条件的数求累加和。