[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷41及答案与解析.doc
《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷41及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷41及答案与解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(初级)程序员下午(应用技术)模拟试卷 41 及答案与解析 1 阅读以下说明和流程图,回答问题将解答填入对应栏。 说明 本流程图采用 “双向冒泡法 ”实现对数组 an的排序。双向冒泡法就是在逐步缩小的数组内,分别从数组的两端开始向内搜索,同时将大数往上浮,小数往下沉,每次交换一组数。flag是一个标志,发生过交换就置为 1,当这个循环过程都不再发生交换时,则数组排序完成。 注:流程中循环开始的说明按照 “循环变量:循环初值,循环终值,增量 ”格式描述; 定义 swAPa,b为将 a和 b两数交换。 问题 将流程图的 (1) (5)处补充完整。 2 阅读以下函数说明和 C语言函数,将
2、应填入 (n)处的字句写在对应栏内。 说明 1 L为一个带头结点的循环链表。函数 LinkList deletenode(LinkList L,int c)的功能是删除 L中数据域 data的值大于 C的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。 C函数 1 LinkList deletenode(LinkList L,int c) LinkList Lc,P,pre; pre=L; p=(1); Lc=(LinkList)malloc(sizeof(Listnode); Lc- next=Lc; while(P!=L) if(p- data C) (2
3、); (3); Lc- next=p; p=pre- next; else pre=p; p=pre- next; return Lc; 说明 2 递归函数 dec_to_k_2(int n,int k)的功能是将十进制正整数 n转换成 k(2k9)进制数,并打印。 C函数 2 dec to k 2(int n,int k) if(n!=O) dec to k 2( (4) ,k); printf(“%d“, (5) ); 3 阅读以下函数说明和 C语言函数,将应填入 (n)处的字句写在对应栏内。 说明 函数 int psort(int a,int n)实现将含 n个整数的数组 a的不同元素按
4、从小到大顺序存于数组 a中。实现方法是从未确定的元素列中找到最小元素并将 a的第 i最小元素交换至 ai位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。 C函数 int psort(int a,int n) int i,J,k,P; for(i=0,k=0;i (1);i+) for(j=i+1, (2) ;j n; j+) if(ap aj) p=j; if(p!=i) t=ap; ap=ai; ai=t; if( (3) ) k+; else if( (4) ai) (5)=ai; return k; int a=5,7,5,6,4,3,
5、4,6,7; main() int k,n; for(k=0;k (Sizeof a)/Sizeof(int);k+) printf(“%5d“,ak); printf (“nn“); n=psort(a,(sizeof(a)/sizeof(int); for(k=0;k n;k+) printf(“%5d“,ak); printf(“nn“); 4 阅读以下函数说明和 C语言函数,将应填入 (n)处的字句写在对应栏内。 说明 这是一个求解 Josephus问题的函数。用整数序列 1, 2, 3 , n表示顺 序围坐在圆桌周围的人,并采用数组表示作为求解过程中使用的数据结构。 Josephus
6、问题描述,设 n个人围坐在一个圆桌周围,现在从第 s个人开始报数,数到第 m个人,让他出局;然后从出局的下一个人重新开始报数,数到第 m个人,再让他出局, 如此反复直到所有的人全部出局为止。 C函数 void Josephus(int A,int n,s,m) (int i,j,k,temp; if(m=O) printf(“m=0是无效的参数 !n“); return; for(i=0;i n;i+) Ai=i+1; /*初始化,执行 n次 */ i= (1) /*报名起始位置 */ for(k=n;k 1;k-) if(2) i=0; i=(3) /*寻找出局位置 */ if(i!=k-1
7、) tmp=Ai; for(j=i;J k-1;j+) (4); (5); for(k=0;k n/2;k+) tmp=Ak;Ak=An-k+1;An-k+1=tmp; 5 阅读以下说明和 C+程序,将应填入 (n)处的字句写在对应栏内 说明 以下程序的功能是计算三角形、矩形和正方形的面积并输出。 程序由 4个类组成:类 Triangle, Rectangle和 Square分别表示三角形、矩形和正方形;抽象类 Figure提供了一个纯虚拟函数 getArea(),作为计算上述三种图形面积的通用接口。 C+程序 #include iostream.h #include math.h class
8、 Figure public: virtual double getArea()=0; /纯虚拟函数 ; class Rectangle: (1) protected: double height; double width; public: Rectangle(); Rectangle(double height,double width) This- height=height; This- width=width; double getarea() return (2); ; class Square: (3) public: square(double width) (4); ; cl
9、ass triangle: (5) double la; double lb; double lc; public: triangle(double la,double lb,double lc) this- la=la;thiS- ib;this- lc; double getArea() double s=(la+lb+lc)/2.0; return sqrt(s*(s-la)*(s-lb)*(s-lc); ; viod main() figure*figures3= new triangle(2,3,3),new Rectangle(5,8),new Square(5); for(int
10、 i=0; i 3;i+) cout “figures“ i “area=“ (figures)- getarea() endl; ; 6 阅读以下说明和 Java程序,将应填入 (n)处的字句写在对应栏内。 说明 下面程序输出一个矩形面积,以及矩形区域上的假想的作物产量。 Java程序 public class MainJava public static void main(String args) Lot_size small=new Lot_size(); Lot_size medium=new Lot_size(); small.set(5,5,5, 25); medium.set(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 初级 程序员 下午 应用技术 模拟 41 答案 解析 DOC
