1、计算机三级数据库技术(上机操作)机试模拟试卷 76及答案与解析 一、程序设计题 1 函数 ReadDat()实现从数据文件 in dat中读取一篇英文文章,存入到字符串数组XX中 ;请编写函数 encryptChar(),按给定的替代关系对数组 XX中的所有字符进行替代,然后存人数组 XX对应的位置上,最后调用函数 WriteDat()把结果 xx输出到文件 out dat中。替代关系: f(P)=P*13 mod256, mod为取余运算, P是数组 xx中某一个字符的 ASCII码值, f(p)是计算后的无符号整型值 (注意:中间 变量定义成整型变量 ),如果计算后 f(p)值小于等于 3
2、2或是偶数,则该字符不变,否则用 f(p)替代所对应的字符。 【试题程序】 #include #include #include unsigned char xx5080; int maxline=0; *文章的总行数 * int ReadDat(void); void WriteDat(void); void encryptChar() void main() if(ReadDat() printf(“数据文件 IN DAT不能打开 ! n 007”); return; encryptChar(); WriteDat(); ) int ReadDat(void) FILE*fP: int i
3、=0; unsigned char*P; if(fp=fopen(“in dat”。 “r”)=NUL; return 1; while(fgets(xxi, 80, fp)!=NULL) p=strchr(xxEi, n); if(p)*P=0; i+1 maxline=i; fclose(fp); return 0; void WriteDat(void) FILE*fp; int i; fp=fopen(“out dat” “W”); for(i=0;imaxline; i+) printf(“ s n”, xxi); fprintf(fp, “ s n”, xxi); fclose(fp); 计算机三级数据库技术(上机操作)机试模拟试卷 76答案与解析 一、程序设计题 1 【正确答案】 void encryptChar() int i, j, va1; *定义变量 * for(i=0limaxlineti+) *替代字符 * for(j=0,j80; j+) val=xxEiEj*13 256; *替代关系 * if(val=32 val 2=0) *判断条件 * continue; else xxEiEj=vaI;