2011年计算机二级C语言十套上机题5

全国等级考试资料网 2022-10-25 16:16:16 227

2011年计算机二级C语言十套上机题5

2. 改错题

下列给定的程序中,函数fun()的功能是:计算并输出k以内最大的6个能被7或11整除的自然数之和。K的值由主函数传入,若k的值为500,则函数的值为2925。

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include

#include

int fun(int k)

{

int m=0,mc=0, j;

/**********************found***********************/

while(k>=2)&&(mc<6)

{

/**********************found***********************/

if((k%7=0)||(k=0))

{

/**********************found***********************/

m=k;

mc++;

}

k--;

}

return m;

}

main()

{

clrscr();

printf("%d ",fun(500));

}

答案及评析:

(1)错误:while(k>=2)&&(mc<6)

正确:while((k>=2)&&(mc<6))

(2)错误:if((k%7=0)||(k=0))

正确:if((k%7==0)||(k= =0))

(3)错误:m=k;

正确:m=m+k;

【解析】错误1:C语言规定while语句后的表达式两侧必须要有圆括号。

错误2:if语句的判断条件应用关系运算符,而不是赋值运算符。

错误3:根据题意,将满足条件的数求累加和。 

相关资料

相关阅读