问题 问答题

试题四阅读以下说明和C 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]函数MultibaseOutput(long n, int B)的功能是:将一个无符号十进制整数n 转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B 进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C 代码中的符号常量及栈的类型定义如下:#define MAXSIZE 32typedef struct {int *elem; /* 栈的存储区 */int max; /* 栈的容量,即栈中最多能存放的元素个数 */int top; /* 栈顶指针 */}Stack;[C 代码]int InitStack(Stack *S, int n) /* 创建容量为n 的空栈 */{ S->elem = (int *)malloc(n * sizeof(int)); if(S->elem == NULL) return -1; S->max = n; (1) = 0 ; return 0;}int Push(Stack *S, int item) /* 将整数item 压入栈顶 */{ if(S->top == S->max){ printf("Stack is full!\n"); return -1;} (2) = item ; return 0;}int StackEmpty(Stack S) { return (!S.top) 1 : 0; } /* 判断栈是否为空 */int Pop(Stack *S) /* 栈顶元素出栈 */{ if(!S->top) { printf("Pop an empty stack!\n"); return -1;} return (3) ;}void MultibaseOutput(long n, int B){ int m; Stack S; if (InitStack(&S, MAXSIZE)) {printf("Failure!\n"); return;} do { if (Push(&S, (4) )) {printf("Failure!\n"); return;} n = (5) ; }while(n != 0); while(!StackEmpty(S)) { /* 输出B 进制的数 */ m = Pop(&S); if(m < 10) printf("%d", m); /* 小于10,输出数字 */ else printf("%c", m + 55); /* 大于或等于10,输出相应的字符 */ } printf("\n");}

答案

参考答案:(1)S->top(2)S->elem[S->top++](3)S->elem[--S->top](4)n % B(5)n / B

选择题
问答题

[说明]
某商业银行已有一套基于客户机/服务器(C/S)模式的储蓄系统X和一套建账软件Y。建账软件Y主要用于将储蓄所手工处理的原始数据转换为系统X所需的数据格式。该建账软件具有以下功能。
(1)分户账录入:手工办理业务时建立的每个分户账数据均由初录员和复录员分别录入,以确保数据的正确性。
(2)初录/复录比对:将初录员和复录员录入的数据进行一一比较,并标记两套数据是否一致。
(3)数据确认:当上述两套数据完全一致后,将其中任一套作为最终进入系统X的原始数据。
(4)汇总核对和打印:对经过确认的数据进行汇总,并和会计账目中的相关数据进行核对,以确保数据的整体正确性,并打印输出经过确认的数据,为以后核查可能的错误提供依据。该建账软件需要打印的分户账清单样式如表3-8所示。

表3-8 分户账清单样式表

储蓄所账号开户日户名其他分户账数据
储蓄所A6436 1357 2008 2010 999 2008-08-15小郭
储蓄所A合计共XXXX户,总余额YYYYYYY.YY元
储蓄所B8436 1357 2008 2009 888 2008-08-25小谢
储蓄所B合计共XXXX户,总余额YYYYYYY.YY元
储蓄所N
储蓄所N合计共XXXX户,总余额YYYYYYY.YY元

(5)数据转换:将经过确认的数据转换为储蓄系统X需要的中间格式数据。
(6)数据清除:为加快初录和复录的处理速度,在数据确认之后,可以有选择地清除初录员和复录员录入的数据。
该软件的数据流图如图3-17~图3-19所示,图中部分数据流数据文件的格式如下。
初录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质
复录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质
会计账目=储蓄所号+总户数+总余额
操作结果=初录操作结果+比对操作结果+复录操作结果




[问题5]
加工1(录入比对处理)除能够检查出初录数据和复录数据不一致之外,还应检测的错误有 (3)