【计算机类职业资格】三级数据库技术-490及答案解析.doc

上传人:eventdump275 文档编号:1321156 上传时间:2019-10-17 格式:DOC 页数:4 大小:28.50KB
下载 相关 举报
【计算机类职业资格】三级数据库技术-490及答案解析.doc_第1页
第1页 / 共4页
【计算机类职业资格】三级数据库技术-490及答案解析.doc_第2页
第2页 / 共4页
【计算机类职业资格】三级数据库技术-490及答案解析.doc_第3页
第3页 / 共4页
【计算机类职业资格】三级数据库技术-490及答案解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、三级数据库技术-490 及答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.函数 ReadDat()实现从文件 in.dat 中读取一篇英文文章,存入到字符串数组 xx 中;请编制函数encryptChar(),按给定的替代关系对数组 xx 中的所有字符进行替代,仍存入数组 xx 对应的位置上,最后调用函数 WriteDat()把结果 xx 输出到文件 out.dat 中。 替代关系:f(p)=p*11 mod 256,mod 为取余运算,p 是数组 xx 中某一个字符的 ASCII 值,f(p)是计算后的无符号整型值(注意:中间变量定义

2、成整型变量),如果原字符的 ASCII 值是偶数或计算后 f(p)值小于等于 32,则该字符不变,否则用 f(p)替代所对应的字符。 请勿改动主函数 main()、读函数 ReadDat()和输出函数 WriteDat()的内容。 #include stdio.h #include string.h #include ctype.h unsigned char xx5080; int maxline=0; /*文章的总行数*/ int ReadDat(void); void WriteDat(void); void encryptChar() void main() if(ReadDat()

3、printf(“数据文件 in.dat 不能打开!n007“); return; encryptChar(); WriteDat(); /*从文件 in.dat 中读取一篇英文文章, 存入到字符串数组 xx 中*/ int ReadDat(void) FILE *fp; int i=0; unsigned char *p; if(fp=fopen(“in.dat“, “r“)=NULL) return 1; while(fgets(xxi, 80, fp)!=NULL) p=strchr(xxi, “n“); if(p) *p=0; i+; maxline=i; fclose(fp); ret

4、urn 0; /*把结果 xx 输出到文件 out.dat 中*/ void WriteDat(void) FILE *fp; int i; fp=fopen(“out.dat“, “w“); for(i=0; imaxline; i+) printf(“%sn“, xxi); fprintf(fp, “%sn“, xxi); fclose(fp); (分数:100.00)_三级数据库技术-490 答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.函数 ReadDat()实现从文件 in.dat 中读取一篇英文文章,存入到字符串数组 xx

5、 中;请编制函数encryptChar(),按给定的替代关系对数组 xx 中的所有字符进行替代,仍存入数组 xx 对应的位置上,最后调用函数 WriteDat()把结果 xx 输出到文件 out.dat 中。 替代关系:f(p)=p*11 mod 256,mod 为取余运算,p 是数组 xx 中某一个字符的 ASCII 值,f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量),如果原字符的 ASCII 值是偶数或计算后 f(p)值小于等于 32,则该字符不变,否则用 f(p)替代所对应的字符。 请勿改动主函数 main()、读函数 ReadDat()和输出函数 WriteDat()的

6、内容。 #include stdio.h #include string.h #include ctype.h unsigned char xx5080; int maxline=0; /*文章的总行数*/ int ReadDat(void); void WriteDat(void); void encryptChar() void main() if(ReadDat() printf(“数据文件 in.dat 不能打开!n007“); return; encryptChar(); WriteDat(); /*从文件 in.dat 中读取一篇英文文章, 存入到字符串数组 xx 中*/ int

7、ReadDat(void) FILE *fp; int i=0; unsigned char *p; if(fp=fopen(“in.dat“, “r“)=NULL) return 1; while(fgets(xxi, 80, fp)!=NULL) p=strchr(xxi, “n“); if(p) *p=0; i+; maxline=i; fclose(fp); return 0; /*把结果 xx 输出到文件 out.dat 中*/ void WriteDat(void) FILE *fp; int i; fp=fopen(“out.dat“, “w“); for(i=0; imaxli

8、ne; i+) printf(“%sn“, xxi); fprintf(fp, “%sn“, xxi); fclose(fp); (分数:100.00)_正确答案:()解析:int i, j, val; for(i=0; imaxline; i+) for(j=0; j(int) strlen(xxi); j+) val=(xxij*11)%256; /*如果新的 ASCII 值不小于等于 32 且原字符的 ASCII 码不是偶数,则用新的 ASCII 值对应的字符替代原有的字符*/ if(!(val=32 | (xxij %2)=0) xxij=val; 解析 字符替代 f(p)=p*11 mod 256,小于等于 32 或原字符的 ASCII 码是偶数不变,否则替换。 通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第 6 行,修改 if 条件语句的设置即可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1