2017年3月计算机二级C语言复习题及答案
学习是一个循序渐进的过程,需要同学们不断的学习和努力。2017年3月计算机二级C语言复习题及答案就为大家分享这里了,希望能帮助大家更好的复习所学的知识。
一、程序填空题
给定程序中。函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45
按升序排列时的中间数为:8 处理后主函数中输出的数列为:8 8 8 23 87 8 821 45
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!
试题程序:
二、程序修改题
给定程序MODll.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。
请改正函数flm中指定部位的错误,使它能得出正确的`结果。
注意:不要改动main函数,不得增行或删行.也不得更改程序的结构!
三、程序设计题
请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。
参考答案:
一、程序填空题
【参考答案】
(1)b[k](2)4或N/2(3)<
【解题思路】
数组中的9个数任意排列,要找到按升序排列时处于中间位置的数,应首先对数组进行升序排列。因为只需找到中间位置的数即可,故不必对整个数组进行排序,只需要排列出数组的前半部分。找到中间数后,遍历原数组,将小于中间数的元素进行替换。
填空1:利用选择算法排序,先指定一个元素为最小,用这个数与其后的所有数进行比较,若找小于此数,则进行替换。此处考查替换操作。
填空2:元素mid存放中间位置的数,数组长度为9,因此中间元素数为b[4]。
填空3:遍历数组,当元素小于中间位置的数(即mid)时,进行替换。
二、程序修改题
【解题思路】
要删除数组b中小于10的数,应依次取出数组数组b中的元素与10进行比较,若不小于10,则将其存入数组t中,遍历完成后,数组t中的元素即为所求,再将数组t中的元素保存到数组b中即可。
(1)元素hum存放不小于10的元素的个数,应将其初始化为0。
(2)将数组b中不小于10的元素存人数组t中,同时使数组t的下标加1。
(3)语法错误,没有nun这个变量,应该为num。
三、程序设计题
【解题思路】
要统计字符串中数字字符的个数,首先应定义变量n,并初始化为0,然后遍历字符串,逐个判断字符是否为数字字符,判断条件为该元素的ASCII码在字符0和9的ASCII码之间,若判断条件成立,则使n的值加1,否则,继续判断下一个字符,直到字符串结束。
-
C语言合并排序及实例代码讲解
归并排序也称合并排序,其算法思想是将待排序序列分为两部分,依次对分得的两个部分再次使用归并排序,之后再对其进行合并。下面是小编为大家整理的C语言合并排序及实例代码讲解,欢迎参考~仅从算法思想上了解归并排序会觉得很抽象,接下来就以对序列A[0],A[l]…,A[n-1]...
-
C语言中friend友元函数详细解析
友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend。我们已知道类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程序中的其他...
-
C语言的指针类型讲解
C语言的指针类型包括两方面的信息:一是地址,存放在指针变量中;二是类型信息,下面是小编为大家整理的C语言的指针类型讲解,欢迎参考~指针存储了内存的地址,同时指针是有类型的,如int*,float*,那么,一个自然的猜想就是指针变量应该存储这两方面的信息:地址和指针类型,比如,就...
-
C,C++,C#三者的阐述和区别
一、关于C语言C语言是一种结构化编程语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言的表现能力和处理能力极...