全国计算机等级考试二级C语言真题题库2+2016年3月

的表达式为逻辑运算,得到的结果刚好是0或1。

填空2:day前面累加了平年月份的天数,还需要加上目的天数。

填空3:l如果是闰年并且累加月份大于2月,需要多加1天。

三、程序改错题(共24分)

1. 给定程序MODll.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第l门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第l门课程的平均分是:76.125000请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:

答案:

(1)double sum改为double sunl=0.0; (2)for(i=0;i<2;i*)改为细(i=0;i

(1)doubleⅫ改为double 8am=0.0;累加求和需要初始化累加结果的临时变量。

(2)for(i_0;i<2;i++)改为for(i_0;i

(3)sum+.std[i].BCOl.e[1]改为

8am+=8td[i].score[0];第1门课程的平均分,c语言的下标是从0开始的。 四、程序设计题(共18分)

1. 请编写函数。fun能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。例如:若输入的数据为l23,则输出结果为:输入的数字是3位。注意:部分源程序存在PROGl.C中,请勿改动主函

数main和其他函数中的任何内容,仅在函数fun的花括号中填入所缩写的若干

语句。 试题程序:

答案: 【解题思路】

通过对指定的多位数每次除以10,去掉最后一位,直到为0结束,使用临时变量来统计一个多位数的位数。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4