09计算机等级考试三级网络技术笔试重点解析
发布网友
发布时间:2022-04-21 05:14
我来回答
共1个回答
热心网友
时间:2022-05-01 14:44
全国计算机等级考试
*网络技术
上机指导
全国计算机等级考试*网络技术考试包括笔试和上机两部分。前者是在全国规定的时间进行统考,后者是由上机考试系统进行分时分批考试。考试成绩划分为优秀、良好、合格及不合格四个等第成绩,笔试或上机考试成绩只有一门合格的,参加下次考试时合格的一门可以免考,两部分考试均合格者,由教育部考试中心颁发统一印制的*合格证书。
为了更好地让考生在应考前了解和掌握上机考试系统环境及模式,熟练操作上机考试系统,提高应试能力,下面将详细介绍如何使用上机考试系统以及*网络技术上机考试的内容。
A 上机考试系统使用说明
A.1 上机考试环境
1.硬件环境
主机 386、486、586及其各种兼容机
内存 640KB基本内存,具有1MB以上的扩充内存
显示卡 彩显VGA
显示内存 具有512KB以上的显示内存
硬盘空间 10MB以上硬盘空间
2.软件环境
操作系统 MS-DOS5.0、PC-DOS5.0及以上各种版本
汉字系统 希望汉字系统UCDOS5.0及以上各种版本(正版软件)
*网络技术 TURBO-C 2.0
驱动程序 使用HIMEM.SYS、EMM386.EXE等扩充内存管理器
A.2 上机考试时间
全国计算机等级考试*网络技术上机考试时间定为60分钟。考试时间由上机考试系统自动进行计时,提前5分钟自动报警来提醒考生应及时存盘,考试时间用完,上机考试系统将自动锁定计算机,考生将不能继续进行考试。
A.3 上机考试题型及分值
全国计算机等级考试*网络技术上机考试试卷满分为100分,仅有一道程序编制调试题。
A.4 上机考试登录
使用上机考试系统的操作步骤:
开机,启动计算机;
启动UCDOS汉字操作系统;
运行登录命令“ID”,上机考试系统将显示如下的登录画面(如图1所示)。
图1
当上机考试系统显示图1后,请考生按任意键进入准考证号登录验证状态,屏幕显示如下画面(如图2所示):
图2
当上机考试系统显示图2后,此时请考生输入自己的准考证号(必须满12位数字或字母),以回车键确认输入,接着上机考试系统开始对所输入的准考证号进行合法性检查。下面将列出在登录过程中可能会出现的提示信息:
当输入的准考证号不存在时,上机考试系统会显示相应的提示信息并要考生重新输入准考证号,直至输入正确或按Esc键退出上机考试登录系统为止。
如果输入的准考证号存在,则屏幕显示此准考证号所对应的身份证号和姓名,并显示相应的应答提示信息:
由考生核对自已的姓名和身份证号,如果发现不符并输入字符“N”,则重新输入准考证号,上机考试系统最多允许考生输入准考证号三次,如果均不符合,则请主考或监考人员帮助查找原因,给予更正。如果输入的准考证号核对后相符,则请考生输入字符“Y”,接着上机考试系统进行一系列处理后将随机生成一份*网络技术考试的试卷,并显示如下提示信息:
如果上机考试系统在抽取试题过程中产生错误并显示相应的错误提示信息时,则考生应重新进行登录直至试题抽取成功为止。
图3
当上机考试系统抽取试题成功后,在屏幕上会显示*网络技术考生上机考试须知(如图3所示)并请考生按“S”键开始考试并进行计时。上机考试系统将自动进入考生目录,考生所有的答题均在考生目录下完成。考生在考试过程中,一旦发现不在考生目录中时,应及时返回到考生目录下。在答题过程中,允许考生自由选择答题顺序,中间可以退出并允许考生重新答题。
当考生在上机考试时遇到死机等意外情况(即无法进行正常考试时),考生应向监考人员说明情况,由监考人员确认为非人为造成停机时,方可进行二次登录。当系统接受考生的准考证号并显示出姓名和身份证号,考生确认是否相符,一旦考生确认,则系统给出提示:
考生需由监考人员输入密码方可继续进行上机考试,因此考生必须注意在上机考试时不得随意关机,否则考点将有权终止其考试资格。
当上机考试系统提示“考试时间已到,请停止答卷”后,此时考生特别要注意,你所操作的考试内容是否已经存盘?如果在DOS系统提示符下,则表明考生所操作的考试内容已存盘;如果不在DOS系统提示符下,考生应举手示意,由监考人员输入延时密码后进行存盘,返回到DOS系统提示符下;如果考生擅自关机或启动机器,将直接会影响考生自己的考试成绩。
A.5 试题内容查阅工具的使用
全国计算机等级考试上机考试系统提供了开放式的考试环境,考生可以自由地在操作系统环境下使用各种应用软件系统或工具。由于考试环境和试题内容查阅工具是分离的,因此该查阅工具采用常驻内存(TSR)技术设计编写的,用它来控制上机考试的时间和考试内容的显示,并在任意的操作环境下可以利用热键(F12)来激活该查阅工具而不必退出软件环境或工具。
当考生登录成功后,上机考试系统将自动装载试题内容查阅工具并驻留内存,可随时供考生通过按热键来激活它。*网络技术上机考试只有一个试题内容菜单项(如图X.4所示)。当按光标↑和↓键时,当前菜单项的试题内容上下移动;当按PgUp和PgDn键时,当前菜单项的试题内容上下翻页;当按Esc键时,退出试题查阅工具的控制;当按Ctrl-BackSpace键时,退出试题内容查阅工具并把试题内容粘贴在屏幕上,此功能一般在应用软件中使用,但在图形方式下此功能无效。
图4
注意:在显示试题查询窗口时,在“[ ]”中同时显示相应的提示信息符(如: ↓,↑↓,↑,完)。
↓ : 表示此部分试题内容一屏显示不下,如按该键时可继续显示下面的试题内容(如图9.4所示)。
↑ : 表示此部分试题内容已到尾部,如按该键时可返回显示上面的试题内容(如图9.5所示)。
↑↓: 表示此部分试题内容处在中间,按上下光标键时可显示其它试题内容(如图9.6所示)。
完 : 表示此部分试题内容一屏已显示完毕。
考生在上机考试时,应充分注意试题查询窗口的“[ ]”中的提示符,以免漏做一部分试题,而影响考试成绩。并在屏幕的右下角显示上机考试的倒计时时间,来提醒考生还剩余多少考试时间。
图5
图6
A.6 考生目录和文件的恢复
1.考生目录
当考生登录成功后,上机考试系统将会自动产生一个考生考试目录,该目录将存放该考生所有上机考试的考试内容以及答题过程,因此考生不能随意删除该目录以及该目录下与考试内容无关的子目录及文件,避免在考试和评分时产生错误,从而导致影响考生的考试成绩。上机考试系统生成考生目录时有两种方式:一是在NOVELL网络环境下考生目录将存放在K盘上,即目录为K:\用户号\准考证号目录;二是在单机环境下考生目录将存放在C盘上,即目录为C:\EXAM\准考证号目录。考生在考试过程中所操作的目录和文件,特别是程序输出的结果文件都不能脱离考生目录,否则将会直接影响考生的考试成绩。
例1: NOVELL网络环境下: 用户号ABC,准考证号为350199990001,则考生考试目录为K:\ABC\35010001(把其中的考点号9999删除)。
例2: 在单机环境下: 准考证号为350199990002,则考生考试目录为C:\EXAM\35010002(把其中的考点号9999删除)。
2.文件的恢复
如果考生在考试过程中,所操作的文件如不能复原或误操作删除时,那么请考生自行把相应的文件从考生目录下WARN子目录中拷贝回来即可,考生就可以继续进行考试且不会影响考生的考试成绩。
A.7 文件名的说明
当考生登录成功后,上机考试系统将在考生目录下产生一系列目录和文件。但有些目录和文件是不能被删除的,否则将会影响考生的考试成绩;有些目录和文件是根据试题内容的要求进行删除或修改及其他操作。
下面列出2种类型的文件不能删除:
PROG1.C 存放*网络技术C语言程序编制题的源文件。
程序编制题所规定的输入数据文件和输出结果文件。例如:in.dat和out.dat等。
B 上机考试内容
B.1 程序编制调试运行
当试题抽取成功后,上机考试系统已将需编制程序的部分源程序存放到文件PROG1.C中,考生在指定的*网络技术C语言环境中,按照试题给定的要求在PROG1.C文件中进行程序的编写,经过调试和运行,最后得到其运行结果并存放到指定的输出结果文件中。一般来说输出结果文件格式在程序中已给出,考生不必自行编写,只要调用即可。
程序编制题只有一种题型:编写部分程序或函数。那么怎样编制程序呢?首先在编制程序之前,考生必须要理解试题,并分析出试题要求做什么,得出的结果怎样输出再进行编写部分程序并调试运行,直至程序运行得到正确结果为止。
1.评分规则
程序编制、调试运行这一类试题的评分规则是判定最终的运行结果,按正确结果的多少,按比例进行给分。至于考生编写的程序方法和内容有所不同,但必须得出正确的结果,才能得分。
2.举例
例1:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章, 存入到字符串数组xx中; 请编制函数encryptChar(), 按给定的替代关系对数组xx中的所有字符进行替代, 仍存入数组xx的对应的位置上, 最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。
替代关系:f(p)=p*11 mod 256 (p是数组xx中某一个字符的ASCII值, f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变, 否则将f(p)所对应的字符进行替代。
注意: 部分源程序存放在PROG1.C中, 原始数据文件存放的格式是:每行的宽度均小于80个字符。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
部分源程序如下:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
unsigned char xx[50][80] ;
int maxline = 0 ; /* 文章的总行数 */
int ReadDat(void) ;
void WriteDat(void) ;
void encryptChar()
{
}
void main()
{
clrscr() ;
if(ReadDat()) {
printf("数据文件ENG.IN不能打开!\n\007") ;
return ;
}
encryptChar() ;
WriteDat() ;
}
int ReadDat(void)
{
FILE *fp ;
int i = 0 ;
unsigned char *p ;
if((fp = fopen("in.dat", "r")) == NULL) return 1 ;
while(fgets(xx[i], 80, fp) != NULL) {
p = strchr(xx[i], '\n') ;
if(p) *p = 0 ;
i++ ;
}
maxline = i ;
fclose(fp) ;
return 0 ;
}
void WriteDat(void)
{
FILE *fp ;
int i ;
fp = fopen("out.dat", "w") ;
for(i = 0 ; i < maxline ; i++) {
printf("%s\n", xx[i]) ;
fprintf(fp, "%s\n", xx[i]) ;
}
fclose(fp) ;
}
分析:根据题意分析得出:本题主要考察考生的字符串指针或字符串数组以及根据公式进行字符的ASCII值运算,再根据运算结果和条件进行相应的替代操作,要求考生仅编写函数encryptChar()实现转换功能。其中输入及输出函数给出且已调用,考生不必自己编写。
编写函数encryptChar()的程序内容如下:
void encryptChar()
{
int i, j, val ;
for(i = 0 ; i < maxline ; i++)
for(j = 0 ; j < strlen(xx[i]) ; j++) {
val = (xx[i][j] * 11) % 256 ;
if(!(val <= 32 || val > 130)) xx[i][j] = val ;
}
}
数据文件IN.DAT内容如下:
You may WANT A FIELD in field in each record to uniquely identify that1234
record from all other records IN THE FILE. For example, the Employee123456
Number field is unique if you DO NOT ASSIGN the same number to two12345678
different employees, and you never reassign THESE NUMBERS to other12345678
employees. If you wish to FIND OR MODIFY the record belonging to a11111111
specific employee, this unique FIELD SAVES the thouble of determining22222
whether you have the correct record.12345678901234567
If you do not have a unique field, YOU MUST FIND THE first record123456787
the matches your key and determine whether THEN RECORD is the one you33333
want. If it is not the CORRECT ONE, you must search again to find others.4
结果文件OUT.DAT内容如下:
You`m+3`WAZT`A`F#EDD`in`biWlL`in`W+Ax`rWAorL`to`uniquWl3`iLWntib3`tx+t1&1<
rWAorL`brom`+ll`otxWr`rWAorLs`#Z`THE`F#DE.`For`W(+mplW,`txW`Emplo3WW1&1<GR
Zum6Wr`biWlL`is`uniquW`ib`3ou`De`ZeT`ASS#GZ`txW`s+mW`num6Wr`to`two1&1<GR]h
LibbWrWnt`Wmplo3WWs,`+nL`3ou`nWvWr`rW+ssimn`THESE`ZUOBERS`to`otxWr1&1<GR]h
Wmplo3WWs.`#b`3ou`wisx`to`F#ZD`eR`OeD#FY`txW`rWAorL`6Wlonminm`to`+11111111
spWAibiA`Wmplo3WW,`txis`uniquW`F#EDD`SAVES`txW`txou6lW`ob`LWtWrmininm&&&&&
wxWtxWr`3ou`x+vW`txW`AorrWAt`rWAorL.1&1<GR]hs01&1<GR]
#b`3ou`Lo`not`x+vW`+`uniquW`biWlL,`YeU`OUST`F#ZD`THE`birst`rWAorL1&1<GR]h]
txW`m+tAxWs`3our`kW3`+nL`LWtWrminW`wxWtxWr`THEZ`RECeRD`is`txW`onW`3ou11111
w+nt.`#b`it`is`not`txW`CeRRECT`eZE,`3ou`must`sW+rAx`+m+in`to`binL`otxWrs.<
例2:在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数readDat()是读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,将排序后的前10个数存入数组b中,如果数组b中出现后三位相等的数值,则对这些数值按原始4位数据进行降序排列。最后调用函数writeDat()把结果bb输出到文件out.dat中。
例: 处理前 6012 5099 9012 7025 8088
处理后 9012 6012 7025 8088 5099
注意: 部分源程序存在文件PROG1.C文件中。
请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
部分源程序如下:
#include <stdio.h>
#include <string.h>
#include <conio.h>
int aa[200], bb[10] ;
void jsSort()
{
}
void main()
{
readDat() ;
jsSort() ;
writeDat() ;
}
readDat()
{
FILE *in ;
int i ;
in = fopen("in.dat", "r") ;
for(i = 0 ; i < 200 ; i++) fscanf(in, "%d,", &aa[i]) ;
fclose(in) ;
}
writeDat()
{
FILE *out ;
int i ;
clrscr() ;
out = fopen("out.dat", "w") ;
for(i = 0 ; i < 10 ; i++) {
printf("i=%d,%d\n", i + 1,bb[i]) ;
fprintf(out, "%d\n", bb[i]) ;
}
fclose(out) ;
}
分析:根据题意分析得出:本题主要考察考生的运用数组和排序的能力,要求考生仅编写函数jsSort实现此功能。其中输出函数给出且已调用,考生不必自己编写。
编写函数jsSort的程序如下:
void jsSort()
{
int i, j, m ;
for(i = 0 ; i < 199 ; i++)
for(j = i + 1 ; j < 200 ; j++) {
if((aa[i] % 1000) > (aa[j] % 1000)) {
m = aa[i] ;
aa[i] = aa[j] ;
aa[j] = m ;
}
else if((aa[i] % 1000) == (aa[j] % 1000)) {
if(aa[i] < aa[j]) {
m = aa[i] ;
aa[i] = aa[j] ;
aa[j] = m ;
}
}
}
for(i = 0 ; i < 10 ; i++) bb[i] = aa[i] ;
}
数据文件IN.DAT内容如下:
1862,8281,6183,5180,1217
8215,8865,7110,1870,4373
7447,8420,8252,8809,7968
7331,3472,4126,8101,5576
7397,2066,5940,9779,7947
2912,1226,2238,4122,6210
2020,3721,1646,8324,2351
2345,1862,5186,7573,8949
3211,2103,6695,7968,6157
9956,2998,4063,6096,9432
6452,2422,1382,5813,8138
7486,1178,7650,1687,5012
4845,1428,3197,6077,4650
6641,2695,5758,8855,5321
1337,5323,9154,6419,8044
3654,2246,1890,3250,5542
1976,5986,5051,8053,7377
3726,6189,9483,5874,9246
2522,1020,3492,4032,4367
9784,4746,3130,8521,7837
6521,7917,6240,1225,4092
8022,6893,2075,8043,7409
3316,5688,4600,6016,2953
6206,4100,8947,6264,1986
4933,6105,7054,9121,5318
3164,9609,5784,4178,4906
3731,2996,4218,3498,3849
3835,5491,3890,3531,1475
8219,3720,8585,9616,6539
4961,8850,5822,2769,1269
2171,2104,3681,9291,5768
3582,3035,7212,8313,5669
4782,7545,7917,8561,5447
4912,7624,1343,8579,5639
5745,1833,7948,4321,3090
9389,2796,8073,7806,4910
7970,2808,8109,8664,5963
3660,1396,1380,5705,7269
7417,5590,2823,6308,1754
5467,8126,9822,6737,1023
结果文件OUT.DAT的内容如下:
5012
6016
2020
1020
8022
1023
4032
3035
8043
8044
习 题
1.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数均是素数且新十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cnt
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
部分源程序如下:
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
int isprime(int m)
{
int i ;
for(i = 2 ; i <= m/2 ; i++)
if(m % i == 0) return 0 ;
return 1 ;
}
void jsVal()
{
}
void readDat()
{
int i ;
FILE *fp ;
fp = fopen("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{
int i ;
readDat() ;
jsVal() ;
printf("满足条件的数=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("\n") ;
writeDat() ;
}
writeDat()
{
FILE *fp ;
int i ;
fp = fopen("out.dat", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;
fclose(fp) ;
}
数据文件IN.DAT内容如下:
6738 9058 2877 2946 8767 5024 2281 9068 5437 1846
1997 6820 6545 1494 4343 7781 1058 4520 1387 1493
9066 7524 1531 7711 1906 2686 2513 6201 5359 8245
2929 6924 8293 9805 6375 5080 6181 3575 7087 8761
7200 2624 9498 9880 3823 8946 5413 9064 5596 1149
7588 7186 6833 5311 2690 5494 2039 7996 8441 1808
9102 9861 9385 9892 5954 4488 9107 5990 3537 2484
1644 3708 2960 5293 1920 5481 4558 3576 4380 1886
6603 8275 4369 9848 2560 9851 7400 8174 2641 3487
9925 6332 8225 8593 1254 6981 8704 7712 3388 7728
7973 5746 8448 5569 2724 5460 8398 2438 9750 6722
5307 4449 9709 6781 9276 7683 6505 7093 3231 3897
4125 3525 2973 4627 8041 2035 5163 1619 4232 1046
2736 4285 9403 7722 8843 4142 2777 4951 3135 1249
5755 7569 4210 4595 2665 5012 5967 6323 5425 2042
1462 4492 4719 5224 4060 2168 3821 9971 8724 2884
8656 7718 8102 3071 7774 8970 8302 2033 2893 7888
8968 2311 2398 4395 3059 9809 2888 4152 7473 2420
7878 1979 6119 4144 6601 4173 5350 1578 7511 3241
7783 2362 4313 7807 2397 6770 6130 4430 2778 5983
结果文件OUT.DAT内容如下:
10
9971
8398
7711
6375
4719
4173
2736
2398
2397
1997
2.编写函数jsValue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
最后调用函数writeDat()读取10个数据t,分别得出结果且把结果输出到文件out.dat中。
例如:当t = 1000时, 函数值为:1597。
注意:部分源程序存在文件PROG1.C文件中。
请勿改动数据文件in.dat中的任何数据、主函数main()和写函数writeDat()的内容。
部分源程序如下:
#include <stdio.h>
int jsValue(int t)
{
}
main()
{
int n;
n = 1000 ;
printf("n = %d, f = %d\n",n, jsValue(n)) ;
writeDat() ;
}
writeDat()
{
FILE *in, *out ;
int i, n, s ;
in = fopen("in.dat", "r") ;
out = fopen("out.dat", "w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(in, "%d", &n) ;
s = jsValue(n) ;
fprintf(out, "%d\n", s) ;
}
fclose(in) ;
fclose(out) ;
}
数据文件IN.DAT内容如下:
1000
123
199
201
723
435
612
555
2015
234
结果文件OUT.DAT内容如下:
1597
144
233
233
987
610
987
610
2584
377
3.对10个候选人进行选举,现有一个100条记录的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依次类推;每一位内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数小于等于5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中,最后调用函数WriteDat()把结果yy输出到文件OUT.DAT中。
注意:部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
部分源程序如下:
#include <stdio.h>
char xx[100][11] ;
int yy[10] ;
int ReadDat(void) ;
void WriteDat(void) ;
void CountRs(void)
{
}
void main()
{
int i ;
for(i = 0 ; i < 10 ; i++) yy[i] = 0 ;
if(ReadDat()) {
printf("选票数据文件IN.DAT不能打开!\007\n") ;
return ;
}
CountRs() ;
WriteDat() ;
}
int ReadDat(void)
{
FILE *fp ;
int i ;
char tt[13] ;
if((fp = fopen("IN.DAT", "r")) == NULL) return 1 ;
for(i = 0 ; i < 100 ; i++) {
if(fgets(tt, 13, fp) == NULL) return 1 ;
memcpy(xx[i], tt, 10) ;
xx[i][10] = 0 ;
}
fclose(fp) ;
return 0 ;
}
void WriteDat(void)
{
FILE *fp ;
int i ;
fp = fopen("OUT.DAT", "w") ;
for(i = 0 ; i < 10 ; i++) {
fprintf(fp, "%d\n", yy[i]) ;
printf("第%d个人的选票数=%d\n", i + 1, yy[i]) ;
}
fclose(fp) ;
}
数据文件IN.DAT内容如下:
1111100100
1000010111
1011001101
1100110011
1110001000
1110001011
1011101101
1111111111
1110111110
1111011000
1111111000
1011001110
1001001000
1111000101
1000001100
1000000110
1111001000
1101001101
1010101100
1010001000
1010111110
1101010000
1100001010
1001101001
1111001101
1000101001
1010100100
1111100000
1011101001
1010100010
1011010100
1011101001
0000000000
1010101010
1110011100
1100101011
1000010000
1011100111
1111000100
1011010000
1010111010
1010100000
1101010111
1010010011
1100001000
1110001000
1111010001
1001110111
1111010011
1011001101
1010101000
1001010010
1111111111
1100101111
1110010110
1000000000
1010100101
1100111000
1110101011
1001010110
1010010011
1110000011
1010011001
1001100011
1110110110
1100111001
1000100010
1110010101
1010111101
1110001001
1110010100
1110000111
1100100000
1100000110
1001011001
1111010100
1101001000
1011001011
1010000110
1100001110
1100111110
1110110110
1110000010
1101011111
1010000101
1111000010
1010111000
1111101011
1110101100
1000100000
1110110000
1011000000
1010100100
1001101110
1100100100
0000000000
1010100110
1111011000
1100111110
1010011100
结果文件OUT.DAT内容如下:
44
31
33
25
25
24
30
29
25
27