__5)__
End Sub
从下列的2道试题(试题六至试题七)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。 |
试题六
阅读下列函数说明和 C 函数,将应填入__(n)__处的字句写在答题纸的对应栏内。
[函数6说明]
函数DelAInsB(LinkedList La,LinkedList lb,int key1,int key2,int len)的功能是,将线性表A中关键码为keyl的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。单链表结点的类型定义为:
typedef struct node{
int key;
struct node*next;
}*Linkedhist;
[函数6]
int DelllnsB(LinkedLiSt La,LinkedList Lb,int keyl,int key2,int len)
{ LinkedList p,q,S,prep,pres;
int k;
if (!La->next || !Lb->next || len<=0) return-1;
p = La->next; prep = La;
while (p && p->key != keyl){ /* 查找表A中键值为key1的结点 */
prep = p; p = p->next;
}
if (!p) return -1; /* 表A中不存在键值为key1的结点 */
q = p; k = 1;
while (q && __(1)__){ /* 在表A中找出待删除的len个结点 */
__(2)__: k++;
}
if (!q) return -1; /* 表A中不存在要被删除的len个结点 */ ·
S = Lb->next;__ (3)__;
while (s && s->key != key2){ /* 查找表B中键值为key2的结点 */
pres = s; s = s->next;
}
if (!s)return -1; /* 表B中不存在键值为key2的结点 */
__(4)__q->next; /* 将表A中的len个结点删除 */
q->next:__(5)__
pres->next = p; /* 将len个结点移至表B */
return 0;
}
[NextPage]
试题七
阅读以下应用说明、属性设置及VisualBasic程序代码,将应填入__(n)__处的字句写在答题纸的对应栏内。
[应用说明7]
本应用程序的运行窗口如下图所示:
只要用户单击“闪烁”按钮,文字“欢迎光临”就会以0.3秒消失、0.3秒显示反复进行闪烁;单击“停止”按钮时,闪烁停止,恢复图示的初态。
在开发过程中,需要设置的属性如下:
[属性设置7]
对象 |
对象名 |
属性名 |
属性值 |
窗体 |
Frm1 |
Caption |
闪烁显示演示 |
标签 |
Labe1 |
Caption |
欢迎光临 |
命令按钮 |
CmdF |
Caption |
闪烁 |
命令按钮 |
CmdT |
Caption |
停止 |
定时器 |
Timer1 |
Enabled |
__(1)__ |
|
|
Interval |
__(2)__ |
在开发过程中,需要编写的程序代码如下;
[程序代码7]
Private Sub CmdF Click()
Timerl.__(3)__ = True
Label.Visible = False
End Sub
Private Sub Timerl_ Timer()
__(4)__ = not Label.Visible
End Sub
Private Sub CmdT Click()
Timerl.Enabled = __(5)__
Label.Visible = true
End Sub
从下列的2道试题(试题八至试题九)中任选1道解答,如果解答的试题数超过1道,则题号小的1道解答有效。 |
试题八
阅读下列程序说明和C程序,将应填入__(n)__处的字句写在答题纸的对应栏内。
[程序8说明]
程序8用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额。职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于0结束。
假设个人所得税法规定;个人收入所得,按月计税,以每月收入总额减除免税金额800元后的余额作为该月的月应纳税所得额,适用税率如下表所示。