1、计算机三级数据库技术(上机操作)机试模拟试卷 50及答案与解析 一、程序设计题 1 函数 ReadDat()实现从数据文件 in dat中读取一篇英文文章并存入到字符串数组xx中的功能;请编写函数 encryptChar(),按给定的替代关系对数组 XX中的所有字符进行替代,仍存人数组 XX对应的位置上,最后调用函数 WriteDat()把结果 xx输出到文件 out dat中。替代关系: f(P)=P*11 mod 256, rood为取余运算, P是数组xx中某一个字符的 ASCII码值, f(p)是计算后的无符号整型值 (注 意:中间变量定义成整型变量 ),如果原字符是小写字母或计算后
2、f(P)值小于等于 32,则原字符不变,否则用 f(p)替代所对应的字符。 【试题程序】 #include #include #include unsigned char xxE5080I int maxline=0; *文章的总行数 * int ReadDat(void); void WriteDat(void); void encryptChar() *第 i行文章的内容已作为字符串存入 xxi为起始地址的存储单元内 * *请使用中间变量来存放替代关系处理后的值 val* *例如: va1=xxEij*11 256; * *该提示仅供解题参考,考生也可用其他方法解题 * void main
3、() if(ReadDat()f printf(”数据文件 IN DAT不能打开 ! n 007”): return, eneryptChar(); WriteDat(); int ReadDat(void) FILE*fp; int i=0: unsigned char*P; if(fp=fopen(”in dat”, ”r”)=NULL) return1; while(fgets(xxEi-1。 80, fp)!=NULL) p=strchr(xxEi, 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=a xxij=z; val=32) *判断条件 * continue; else xxij=val;