浙江省高校计算机等级考试C语言程序设计试题解析

需积分: 7 1 下载量 50 浏览量 更新于2024-09-13 收藏 58KB DOC 举报
"这是一份关于计算机等级考试二级C程序设计的试题,包含了程序阅读与填空题目,主要考察考生对C语言的理解和编程能力,包括数组、循环、条件判断等基本概念。" 在这份试题中,我们首先看到的是一个程序,它的目标是接收用户输入的5个整数,然后进行排序并输出。程序的关键部分是冒泡排序算法的实现。具体来看: 1. 在`scanf`函数中,需要读取用户输入的整数并存储到数组`a`中。因此,括号中的参数应该是数组的地址,即`&a[i]`,选A。 2. 冒泡排序的外层循环,`for(i=1; ...; i++)`,应该在未完成全部比较之前继续,因此条件应该是`i<5`,因为我们需要对5个数进行遍历,选B。 3. 内层循环`for(j=0; ...; j++)`,用于比较相邻的两个元素,所以条件应该是`j<5-i`,确保在最后一次迭代时不会越界,选B。 4. 内层循环中的条件`if(...)`,是进行升序排序的比较操作,应该检查当前元素是否大于下一个元素,即`a[j]>a[j+1]`,选C。如果满足条件,就交换这两个元素的位置。 接下来的第二个程序是一个寻找80到120之间各位数字相同的整数的题目。它定义了一个`is(n)`函数来检查整数的每一位是否相同: 5. `if((5))`这部分,应该是调用`is(n)`函数,如果返回值为1(意味着所有数字相同),则打印出这个整数。因此,这里应该是`is(i)`。 6. 在`is(n)`函数内部,`if((6)) return 0;`这一行,应该是检查当前的`digit`是否与`old`(最初的十位数字)不同,如果是,则返回0表示数字不全相同。因此,这里应该是`digit!=old`。 这两个程序题目涵盖了C语言的基础知识,如变量、输入输出、循环控制、函数定义和调用、条件判断以及数组操作。解题时需要理解程序逻辑,并熟练掌握C语言的基本语法。