第1题
第2题
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。 识别码的计算方法如下: 首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。 你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include <stdio.h> int main() { char isbn[13]; int i, k = 0, last, p; gets(isbn); for (i = 0, p = 0; i < 11; i ++) { if (isbn[i] == '-') ___________; p ++; k += (isbn[i] - 48) * p; } last = __________; if (_________) last = 'X'; else last += 48; if (___________) printf("Right"); else { __________; printf("%s", isbn); } return 0; }
A、第9行: continue 第13行: k % 11 第15行: last == 10 第20行: last == isbn[12] 第24行: isbn[12] = last
B、第9行: break 第13行: k / 11 第15行: last == 10 第20行: last == isbn[12] 第24行: isbn[12] = last
C、第9行: continue 第13行: k / 11 第15行: last = 10 第20行: last = isbn[12] 第24行: isbn[12] = 'X'
D、第9行: break 第13行: k % 11 第15行: last != 10 第20行: last != isbn[12] 第24行: isbn[12] = 0
第3题
算法设计(一)——Raptor顺序结构和选择结构作业及评分标准 总体要求: 对以下五道题完成算法设计及Raptor实现,要求提交的文件有: l 一个Word文件,文件名为学号+姓名,Word文件中写清题号,给出每道题的自然语言形式的算法描述(包括:算法名称、算法输入、算法输出、算法步骤四部分),并且给出Raptor流程图和执行结果截图。见下边的示例。l 每道题一个Raptor实现的文件,共5个Raptor文件,命名方式为学号-题号,例如:418101000101-1,418101000101-2,418101000101-3…… 将这6个文件放在一个文件夹中(文件夹的名字也是学号+姓名),进行压缩,最终只提交一个压缩包。压缩包命名为学号+姓名,例如:418101000101张三.rar 评分标准: 每个题目 完全错误 部分错误 (既不完全正确, 也不完全错误) 完全正确 “算法描述”部分 0分 1分 2分 “Raptor流程图”部分 (根据测试用例和顺序、选择结构的逻辑) 0分 1分 2分 l 第1题(共4分) 输入你每天学习的总分钟数,计算并输出一共学了多少小时,多少分钟。 测试用例:输入560,输出9:20(表示9小时20分) l 第2题(共4分) 问题描述:从键盘输入一个三位数的整数,计算其个位、十位、百位数字,反向输出这个整数。 测试用例:输入为365,输出为563。 l 第3题(共4分) 根据员工每月工作的天数,计算该员工的月工资额。员工每天的工资为350元/天,如果工作时间超过20天,超出部分每天的工资翻倍,计算该员工的月工资额。 测试用例: 输入员工工作天数为18天;输出为6300 输入员工工作天数为25天;输出为10500 l 第4题(共4分) 问题描述:从键盘输入三条边的长度(默认为大于零),若能组成三角形则根据海伦公式计算其面积,否则提示错误。 测试用例: 输入分别为3,4,5,输出为6。 输入分别为6,6,6,输出为15.5885。 输入分别为6,20,6,输出为Input Error, NOT a triangle!。 l 第5题(共4分) 根据降雪量的大小可分为小雪、中雪、大雪和暴雪四个等级。通常规定如下: (1)小雪(Light snow):12小时内降雪量<1.0mm (2)中雪(moderate (3)大雪(heavy (4)暴雪(blizzard):12小时内降雪量≥6.0mm 设计算法实现输入一个12小时内降雪量,输出下雪的等级light snow、moderate snow、heavy>
第4题
(1) 会计工作中,常需要用汉字大写表示数字金额,请按规范要求顺序写出阿拉伯数字0、1、2、3、4、5、6、7、8、9对应的汉字大写数字。
(2) 对于¥96000.96,请写出其汉字大写金额的规范写法。
¥96000.96应写成______。
(3) 2007年10月19日,赣江公司会计处处长发现该公司10月上旬的记账凭证有两笔错误:第一笔为10月8日,公司收到张三个人投资款6000元,制单人在填制记账凭证时,误将金额记为60000元,第二笔为10月9日,公司向银行借人短期借款30000元,存入银行,在填制记账凭证时,误将金额记为3000元。以上两笔记录均于2007年10月10日登记入账。请指出第一笔和第二笔错账分别应该采用什么方法更正并编制更正分录。
第一笔错账应采用______更正。
更正分录为:
第二笔错账应采用______更正。
更正分录为:
第5题
【例题】
1. 2 8 0 9 1 4 5 7 9 0
A.0 B.2 C.3 D.4
正确答案为B。两组中都有0,9两符号。
2. 了 木 本 口 天 日 本 大 子 日 太 禾 中 夫
A.0 B.1 C.2 D.3
正确答案为A。三组中没有相同字符,其中两组中有相同符号的不算,如“日”。
第二类题目:先呈现一个数字区间表格,在随后题目中,每一道题都给出一个数字,要求考生将这一数字与表格中的数字区间进行比较,判断这一数字位于哪一数字区间,这一数字区间所在的标号字母即为正确答案。
【例题】
请开始答题:
1. 4987
2. 9875
3. 2345
4. 7521
5. 3721
正确答案分别为:1.D;2.C;3.A;4.B;5.A。
第三类题目:先呈现一个数字与符号的对应表(图例),其中每个数字都有一个图形与其相对应。另外又给出了一个数字表,在随后的题目,要求考生根据数字与图形的对应替代关系,回答所提出的问题。
请开始答题:
1. 数字表中对应W的数字有几个:
A.2 B.3 C.4 D.7
2. 数字表中第8列的4个数字对应的符号分别是:
A.W☆△十 B.W⊙▽◇ C.十☆WM D.M☆⊙△
3. 数字表中第2行中缺矢的两个数字对应的符号为:
A.十◇ B.十▽ C.◇△ D.十△
4. 数字表中代表 的数字在哪几列:
A.2,4,6,7 B.2,4,7 C.4,7,7 D.2,4,7,8
5. 数字表中第4行中缺矢的数字对应的符号为:
A.◇ B.W C.十 D.△
正确答案分别为:1.B,2.C,3.D,4.A,5.C。
一、同符查找(1—35题):
1. SGADFX KGJAMUX
A.2
B.3
C.4
D.5
第6题
[说明]
为实现图书的国际统一编码,便于实现计算机化的图书管理,每本正式出版的图书都印有国际标准书号。标准书号由“ISBN”、10个数字(0~9)组成,其格式如下。
ISBN 组号-出版者号-书名号-校验码
其中,校验码是根据前面9个数字计算得到的,用于计算机自动校验。假设标准书号的10个数字依次是a(1),a(2),…,a(10),则校验码a(10)的设置应使S=10*a(1)+9*a(2)+8*a(3)+…+1*a (10)能被11整除。如果校验码a(10)应设置成10,则规定以“X”表示之。
例如,《软件设计师考试考前冲刺预测卷及考点解析》的标准书号为:ISBN7-121-05027-5。第1段上的数字“7”是国际ISBN中心分配给中国ISBN中心管理的组号;第2段上的“121”表示电子工业出版社。标准书号的校验过程如图5-13所示,计算校验码的过程如图5-14所示。其中,Mod(S,11)表示S除以11得到的余数。
请根据标准书号校验码的技术说明,将图5-13和图5-14程序流程图中(1)~(4)空缺处的内容填补完整。
第7题
阅读以下说明和C 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
基于管理的需要,每本正式出版的图书都有一个 ISBN 号。例如,某图书的 ISBN号为“978-7-5606-2348-1”。
ISBN 号由 13 位数字组成:前三位数字代表该出版物是图书(前缀号),中间的 9个数字分为三组,分别表示组号、出版者号和书名号,最后一个数字是校验码。其中,前缀号由国际EAN提供,已经采用的前缀号为978和979;组号用以区别出版者国家、地区或者语言区,其长度可为1~5位;出版者号为各出版者的代码,其长度与出版者的计划出书量直接相关;书名号代表该出版者该出版物的特定版次;校验码采用模10加权的算法计算得出。
校验码的计算方法如下:
第一步:前 12 位数字中的奇数位数字用 1 相乘,偶数位数字用 3 相乘(位编号从左到右依次为13到2);
第二步:将各乘积相加,求出总和S;
第三步:将总和S 除以10,得出余数R;
第四步:将10减去余数R后即为校验码V。若相减后的数值为10,则校验码为0。
例如,对于ISBN 号“978-7-5606-2348-1”,其校验码为1,计算过程为:
S=9×1+7×3+8×1+7×3+5×1+6×3+0×1+6×3+2×1+3×3+4×1+8×3=139
R = 139 mod 10 = 9
V = 10 – 9 = 1
函数check(char code[])用来检查保存在code中的一个ISBN号的校验码是否正确,若正确则返回 true,否则返回 false。例如,ISBN 号“978-7-5606-2348-1”在 code 中的存储布局如表3-1所示(书号的各组成部分之间用“-”分隔):
在函数check(char code[])中,先将13位ISBN号放在整型数组元素tarr[0]~tarr[12]中(如表3-2 所示,对应 ISBN 号的位13~位 1),由 tarr[0]~tarr[11]计算出校验码放入变量V,再进行判断。
【 C 函数 】
bool check(char code[])
{
int i, k = 0;
int S = 0, temp = 0;
int V;
int tarr[13] = {0};
if (strlen(code) < 17) return false;
for( i=0; i<17; i++ ) /* 将13位ISBN 号存入tarr */
if ( code[i]!= '-' )
tarr[ (1) ] = code[i] - '0' ;
for( i=0; (2) ; i++ ) {
if ( i%2 )
S += (3) ;
else
S += (4) ;
}
V = ( (5) == 0 )? 0 : 10 - S %10;
if ( tarr[12] == V)
return true;
return false;
}
第8题
[说明]
基于管理的需要,每本正式出版的图书都有一个ISBN号。例如,某图书的ISBN号为“978-7-5606-2348-1”。
ISBN号由13位数字组成:前三位数字代表该出版物是图书(前缀号),中间的9个数字分为三组,分别表示组号、出版者号和书名号,最后一个数字是校验码。其中,前缀号由国际EAN提供,已经采用的前缀号为978和979;组号用以区别出版者国家、地区或者语言区,其长度可为1~5位;出版者号为各出版者的代码,其长度与出版者的计划出书量直接相关;书名号代表该出版者该出版物的特定版次;校验码采用模10加权的算法计算得出。
校验码的计算方法如下:
第一步:前12位数字中的奇数位数字用l相乘,偶数位数字用3相乘(位编号从左到右依次为13到2)。
第二步:将各乘积相加,求出总和S。
第三步:将总和S除以10,得出余数R。
第四步:将10减去余数R后即为校验码V。若相减后的数值为10,则校验码为0。
例如,对于ISBN号“978-7-5606-2348-1”,其校验码为1,计算过程为:
S=9×1+7×3+8×1+7×3+5×1+6×3+0×1+6×3+2×1+3×3+4×1+8×3=139
R=139mod 10=9
V=10-9=1
函数check(char code[])用来检查保存在code中的一个ISBN号的校验码是否正确,
若正确则返回true,否则返回false。例如,ISBN号“978-7-5606-2348-1”在code中的
存储布局如表3-1所示(书号的各组成部分之间用“-”分隔):
表3-1 数组code的内容示例
在函数check(char code[])中,先将13位ISBN号放在整型数组元素tarr[0]~tarr[12]中(如表3-2所示,对应ISBN号的位13~位1),由tarr[0]~tarr[11]计算出校验码放入变量V,再进行判断。
表3-2 数组tarr的内容示例
[C函数]
boo1 cheCk(char code[])
{
int i,k=0;
intS=0,temp=0;
int V;
int tarr[13]={0};
if (Strlen(code) <17} return falSe;
for(i=0; i<17; i++) /*将13位ISBN号存入tarr*/
if(code[i]!='-')
tarr (1)____ =code[i]-'0';
for(i=0; (2)_____ ; i++ ); {
if (i%2)
S+= (3)______ ;
else
S+= (4)______ ;
}
v=( (5)______ ==C)?0:10-s%10;
if(tart[12]==v)
return true ;
return false;
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!