中华网校

系列网站: 中华网校 | www.网校.com | 3D模型 | 中华网校教育

电脑网校 | 业界新闻 | 职业网校 | 网校宝典 | 软件下载 | 网校论坛 | 网校联盟

电脑入门 | 网页设计 | 网络编程 | 图形图象 | 三维空间 | 多媒体 | 程序语言 | 操作系统 | 系统专题 | 办公应用 | 软件宝典 | 硬件天下 | 

 

您的位置:首页 >> 电脑入门 >> 考试认证 >> 等级考试 >> 新闻正文

一九九六年度程序员级上午试卷  

作者:  时间:2001-9-24 15:26:11  来自:  责任编辑:  阅读次数:

br> }

}

试题六

阅读以下程序说明和FORTRAN程序,将应填入程序中 (n) 处的字句,写在答卷的对应栏内。

[程序说明]

子程序PRINT对给定的N(2 < N < 50)和M(2 < M < 16),以M进制形式计算并输出N!的全部有效数字。

因N!的值通常超出整型数最大值,故程序采用一维数组存储计算结果。数组A的每一个元素存放N!的M进制表示形式的一位数值。例如:当N=9,M=10时

9! = 362880 (10)

其存储形式为

数组下标 1 2 3 4 5 6 7 8 ……

值 0 8 8 2 6 3 0 0 ……

当N = 3,M = 4时

3! = 12 (4)

其存储形式为

数组下标 1 2 3 4 5 ……

值 2 1 0 0 0 ……

程序中,用加法代替乘法计算阶乘,(K-1)!作为加数暂存于数组B中,D是数组B中有效数字的长度。

[程序]


SUBROUTINE PRINT (M,N)

CHARACTER V*16

INTERGER A(200), B(200), C, D

DATA V/ '012345678ABCEDF '/

DO 10 I = 1,200

A ( I ) = 0

B ( I ) = 0

10 CONTINUE

A (1) = 1

D = _______(1)_______

DO 70 K=2,N

DO 20 J=1,D

____(2)____

20 CONTINUE

DO 50 NUM=1.____(3)____

I=1

40 C=A(O)+B(I)

A(I)=___(4)____

I=I+1

_____(5)____

IF ( I. LT. MIN(D+K-1,200)) ____(6)____

50 CONTINUE

60 IF ( A(I) . EQ. 0 ) THEN

I=I-1

GOTO 60

ENDIF

____(7)____

70 CONTINUE

WRITE ( *,100) N,M,(V(A(J)+1:A(J)+1),J=D,1,-1)

100 FORMAT (1X, I2, '! ( ', I2 , ') = ',50A1/3(9X,50A1))

RETURN

END


试题七

阅读以下程序说明和C程序,将应填入程序中 (n) 处的字句,写在答卷的对应栏内。

[程序说明]

某集团公司为发展生产向社会公开招聘M个工种的工作人员,每个工种各有不同的编号(1至M)和计划招聘人数。每位应聘者需申报两个工种,并参加公司组织的考试。公司将按应聘者的成绩从高分至低分的顺序进行排队录取。公司的录取原则是:从高分到低分依次对每位应聘者先按其第一志愿录取;当不能按其第一志愿录取时,便将他的成绩扣去5分后,重新排队,并按其第二志愿考虑录取。

程序为输出各工种实际招聘的应聘人员,每个工种都保留一个录取者的有序队列。录取处理循环直至招聘额满或已对全部应聘者都作了录取处理。

程序中,类型STU包含有应聘者的基本信息:编号、成绩、志愿、排队成绩和录取志愿号。数组rz [ ]的每个元素对应一个工种,包含有计划招聘人数和已录取的人数。

[程序]


#include

#define M 20

#define EDMARK 5

typedef struct stu {

int no, total, z [ 2 ], sortm, zi;

struct stu *next;

} STU;

struct rzmode {

int 1mt , count;

STU *next;

} rz [ m ];

STU *head = NULL, *over = NULL;

Int all

FILE *fp;

char dataf [ ] = "pp07.dat";

print (STU *p)

{ for (;p!=NULL; p = p -> next)

printf ("%d(%d)\t", p->no, p->total);

}

insert (STU **p, STU *u)

{ STU *v, *q;

for (q = *p;q != NULL; v = =q , ____(1)____)

if (q-> sortm < u->sortm) break;

if ( q == *p) ___(2)____;

else ____(3)____;

u -> next = q ;

}

main ( )

{ int zn, i, no, total, z1, z2 ;

STU *p, *v, *q;

fp = fopen (dataf, "r");

if (fp == NULL)

{ printf ("Can’t open file %s.\n",dataf);

exit (0);

}

fscanf (fp, "%d", &zn);

for (all=0, i=1; i <= zn; i++)

{ fscanf (fp, “%d”, &rz [ i ].lmt );

rz [ i ].count = 0; rz[ i ].next = NULL;

all += ___(4)___;

}

for (;;)

{ if ( ( fscanf (fp, "%d%d%d%d",&no,&total,&z1,&z2)) !=4)

break;

p = ( STU *) malloc (sizeof (STU));

p -> no = no;

p -> total = p -> sortm = total;

p -> zi = 0; p -> z [ 0 ] = z1; p -> z [ 1 ] = z2;

____(5)____;

}

fclose (fp);

for (;all && head!=NULL;)

{ p = head; head = head -> next;

if (rz [ p -> z[p ->zi]].count < ___(6)___)

{ rz [ p -> z[p ->zi]].count ++;

insert (&rz [ p -> z [ p -> zi ] ].next, p);

all --;

continue;

}

if (p -> zi >= 1 )

{ p -> next = over; over = p;

continue;

}

p -> sortm -= DEMARK; _____(7)_____;

insert (&head,p);

}

for ( i = 1; i <= zn; i++ )

{ printf ("%d:\n",i);

print ( rz [ i ].next);

printf ("\n");

}

printf ("over:\n"); print (head);

print (over); printf("\n");

}

试题八

阅读以下程序说明和FORTRAN程序,将应填入程序中 (n) 处的字句,写在答卷的对应栏内。

[程序说明]

某肉猪养殖场为了保证生猪质量,对每次配种种猪的祖先进行族谱代系分析,以选择无血缘关系或尽可能远的远亲种猪进行配种。

为了分析某个给定种猪的族谱代系,我们为该种猪及其每个祖先计算一个代系号,代系号的计算方法是:给定种猪自身的代系号为1,父母的代系号为其子女代系号加1。本题假定任一种猪的最大祖先代系号小于20。

假定每只种猪有一能唯一标识的编号I ( 1 < I < 100 ),数组元素PARENT (1,I)、PARENT(2,I)分别存放种猪I的双亲编号,当不知其某个双亲来源时,其相应的双亲编号为零。

函数 FINDLV 对给定的二只编号为MA、MB的种猪,查找它们是否至少存在一只相同的祖先。若存在,则返回相同祖先中最小的代系号;否则返回值为100。程序中用数组NOA、LEVA存放MA的所有祖先编号及其相应的代系号,TOPA为MA的祖先个数(含MA),数组NOB、LEVB存放MB的所有祖先编号及其相应的代系号,TOPB为MB的祖先个数(含MB)。

子程序GF将种猪编号MAB的所有祖先编号存放于数组NO中,将其相应的代系号存放于数组LEV中。实现时,先将种猪编号MAB及代系号1分别存入NO(1)和LEV(1)中,然后按代系号由小到大的次序依次将其祖先(如有的话)的编号和代系号加入数组NO和LEV中,直

   一九九六年度程序员级上午试卷   共有5页  1  2  3  4  5 页

相关文章 最新文章 推荐文章

  中华网校依法保护知识产权,如果我们的文章有涉及或侵犯您的有关权益,请即时与我们 联系, 注明网址及文章,我们会即时处理或删除,感谢您的合作!中华网校email
  中华网校由广州市中六电脑城智锐计算机专业培训学院及中华网校技术中心提供网络支持未经本站许可任何个人网站、书刊报社一律不得私自复制,转载本站内容!

关于中华网校 | 广告服务 | 版权声明 | 投稿指南 | 网站合作 | 友情链接 | 网站地图

 

版权所有 中华网校 & 智锐网校 1999-2004 COPYRIGHT (C) 1999-2004 www.ZhiRui.com ALL RIGHTS RESERVED

 
/**/