[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷28及答案与解析.doc
《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷28及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷28及答案与解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(初级)程序员下午(应用技术)模拟试卷 28 及答案与解析 1 阅读以下说明和流程图,将应填入 (n)处的字句写在对应栏内。 【说明】 计算三角函数 sinx 给定精度 e和 n,若第 k步后的结果为 sin1,第 k+1步后的结果为 sin2,若 |sin1sin2| e,则返回 sin1的值。若没有达到精度 e,但是步骤达到 n步,则返回第 n步后的值。其流程图如下所示: 2 阅读以下函数说明和 C语言函数,将应填入 (n)处的字句写在对应栏内。 【程序 2.1说明】 已知一个排好序的数组,现输入一个数, 要求按原来的顺序规律,将它插入到数组中。 【程序 2.1】 #inclu
2、de stdioh #define N 100 void main() float aN+l,x; int i,p; printf(“输入已经排好序的数列: “); for(i=0; i N; i+) scanf(%f“, printf(“输入要插入的数: “); scanf(“%f“, for(i=0,p=N; i N; i+) if(x ai) (1) break; for(i=N-1; i =p; i-) (2) (3) for(i=0; i =N; i+) prinff(“%ft“,ai); 【程序 2.2说明】 本程序用变量 count统计文件中字符的个数。 【程序 2.2】 #in
3、clude stdio.h #include stdlib.h void main() FILE *fp; long count=0; if(fp=fopen(“letter.txt“,“r“)=NULL) printf(“can not open filen“); exit(0); while(!feof(fp) (4) count+; printf(“count=%dn“,count); (5) 3 阅读以下说明和 C语言程序,将应填入 (n)处的字句写在对应栏内。 【说明】 Fibonacci数列 A=1, 1, 2, 2, 5, 8, ) 有如下性质: a0=a1=1 ai=ai-1+
4、ai-2, i 1 对于给定的 n,另外有一个由 n个元素组成的数列 xn,该数列中各元素的值为: xi=ai/ai+1, i=0, 1, , n 现要求对 xn中的元素按升序进行排序,然后以分数形式输出排序后的 xn。例如n=5时,排序前的 xn=1/1, 1/2,2/3,3/5,5/8,排序后的 xn=1/2,3/5,5/8,2/3,1/1。程序中函数 make()首先生成排序前的 xn,然后调用函数 sort()进行排序,最后输出所求结果。 【程序】 #include stdio.h #include stdlib.h #include malloc.h struct fact long
5、 m,n; ; void sort(int n,struct fact *p) int a; long s,t,u,v; struct fact *q,*end; for(end=p+(n-1),a=1;a;end-) for(a=0,q=p;q end;p+) s=q- m; t=q- n; u=(q+1)- m; v=(q+1)- n; if( (1) ) q- m=u; (2) (3) (q+1)- n=t; a=1; void make(int n) int i; long a,b,c; struct fact *x,*y; x=(struct fact *)malloc(sizeof
6、(struct fact)*n); x- m=1: x- n=1; for(a=1,b=1,i=2;i =n;i+) (4) a=b; b=c; (x+(i-1)- m=a; (x+(i-1)- n=b; (5) printf(“x%d=%1d/%1d“,n,x- m,x- n); for(y=x+1;y x+n;y+) printf(“,%1d/%1d“,y- m,y- n); printf(“n“); free(x); void main() int n; printf(“input n:“); scanf(“%d“, make(n); 4 阅读以下说明和 C语言程序,将应填入 (n)处的
7、字句写在对应栏内。 【说明】 本程序对某电码文 (原文 )进行加密形成密码文,其加密算法 如下: 假定原文为C1,C2,C3, , Cn加密后形成的密文为 S1,S2,S3, , Sn,首先读入正整数 key(key 1)作为加密钥匙,并将密文字符位置按顺时针方向连成一个环,如下图所示: 加密时从 S1位置起顺时针计数,当数到第 key个字符位置时,将原文中的字符放入该密文字符位置中,同时从环中除去该字符位置;接着从环中下一个字符位置起继续计数,当再次数到第 key个字符位置时,将原文中字符 C2放入其中,并从环中除去该字符位置:依次类推,直至 n个原文字符全部放入密文环中。由此产生的 S1S
8、2Sn 即为原文 的密文。 例如,当 Key=3时,原文this is a decoding system 的密文为: aotgnhedi ys d imietsnc ss 当 Key=4时,该原文的密文为: ssdtyd htegiasiscnm e ion 本程序将电码的原文存放在字符数组 old中,加密钥匙存放在整数 key中。函数 decode用于将原文 old加密并返回密文字符数组的首指针。其中函数采用一个双向循环链表 CODE来表示密文环:函数 strlen用于计算一个字符串中的字符个数 (不包括字符串结尾符 O)。为了简单起见 ,程序中假设内存容量足以满足动态存储单元分配的要求。
9、 #include stdio.h #include stdlib.h typedef struct node char ch; struct node *forward;/* Link to next node. */ struct node *backward;/* Link to previous node.*/ CODE; int strlen(char *s) int len=0; while (*s+!=0) len+; return(len); char *decode(char *otd,int key) char *New; int length,count,i; CODE
10、*loop,*p; length=strlen(old); loop=(CODE *) malloc(length*sizeof(CODE); for (i=1;i length-1;i+) loopi,forward= (1) loop0.backward= loop0,forward= looplength-1.forward=loop; (2) for (p=loop,i=0;i length;i+) for (count=1 ;countkey;count+ p=p- forward; (3) p- backward- forward=p- forward; p- forward-ba
11、ckward=p- backward; (4) New=(char *)malloc(length+1) *sizeef(char); for (i=0;i length;i+) (5) Newlength=0; return (New); void main() char old256; int key, num=0; printf(“nPlease input the telegraph: n“); while (num 255 old (num=255)?num:num-1=0; do printf(“nPlease input Key (Key 1):“); scanf(“%d“, w
12、hile (key =1); printf( “nThe decode of telegraph:%sis:n%sn“,old,decode(old,key); 5 阅读以下说明及 C+程序代码,将应填入 (n)处的语句写在对应栏内。 【说明】 本程序的功能是根据矩形左上角和右下角顶点坐标生成一个矩形对象,然后输出该矩形 4个顶点的坐标,计算并输出该矩形的面积。 【 C+代码】 #include iostream using namespace std; class MyPoint( /表示平面坐标系中的点的类 double x; double y; public: MyPoint (doub
13、le x,double y)this- x=x;this- y=y; double getX()const(1); double getY()const return y; void show()const cout ( x , y ); ; class MyRectangle /表示矩形的类 MyPoint upleft; /矩形的左上角顶点 MyPoint down right; /矩形的右下角顶点 public: MyRectangle(MyPoint upleft,MyPoint downright); MyPoint getUpLeft()constreturn up_left; /
14、返回左上角坐标 MyPoint getDownRight()constreturn down_right; /返回右下角坐标 MyPoint getUpRight()const; /返回右上角坐标 MyPoint getDownLeft()const; /返回左下角坐标 double area()const; /返回矩形的面积 ; MyRectangle: MyRectangle(2): up left(p1),down_right(p2) MyPoint MyRectangle:getUpRight()const return MyPoint(down_right.getX(),up_lef
15、t.getY(); MyPoint MyRectangle:getDownLeft()const return MyPeint(3); double (4) :area()const return (getUpLeft(),getX()-getDownRight().getX()* (getDownRight().getY()-getUpLeft().getY(); int main( ) MyRectangle r(MyPoint(0,2),MyPoint(2,0); r.getUpLeft(),show(); r.getUpRight().show(); r.getDown Right()
16、.show(); (5); cout r.area() end1; return 0; 6 阅读以下说明和 Java代码,将应填入 (n)处的语句写在对应栏内。 【说明】 本程序通过移动滑动条修改颜色 RGB值,从而控制颜色。程序中有一个面板、 3个标签和 3个滑动条,标签和滑动条一一对应,分别对应三原色红、绿、蓝,任意拖动其中的一个滑动条,所对应的颜色值就会发生变化,面板的颜色也会发生对应的变化,如下图所示,滑动条值的范围是 0 255。 【 Java代码】 import java.awt.*; import java.awt.event.*; import javax.swing.*; p
17、ublic class simple extends JFrame implements AdjustmentListener public simple() setTitle(“simple“); setSize(300, 200); addWindowListener(new WindowAdapter() public void windowClosing(1) System.exit(0); ); Container contentPane=getContentPane(); JPanel p=(2); p.setLayout(new GridLayout(3, 2); p.add(r
18、edLabel=new JLabel(“Red 0“); p.add(red=new JScrollBar(Adjustable. HORIZONTAL, 0, 0, 0, 255); red.setBlocklncrement(16); red.addAdjustmentListener(this); p.add(greenLabel=(3) (“Green 0“); p.add(green=new JScrollBar(Adjustable.HORIZONTAL 0, 0, 0, 255); green setBIocklncrement(16); green.addAdjustmentL
19、istener(this); p.add(blueLabel=new JLabel(“Blue 0“); p.add(btue=new JScrollBar(Adjustable. HORIZONTAL, 0, 0, 0, 255); blue,setBIocklncrement(16); blue.addAdjustmentListener(this); contentPane.add(p, “South“); colorPanet=new JPanel(); colorPanet.setBackground(new Color(0, 0, 0); contentPane.add(4),“C
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 初级 程序员 下午 应用技术 模拟 28 答案 解析 DOC
