1、计算机三级数据库技术(上机操作)机试模拟试卷 3及答案与解析 一、程序设计题 1 函数 ReadDat()实现从数据文件 in dat中读取一篇英文文章,存入到无符号字符串数组 XX中;请编写函数 encryptChar(),按给定的替代关系对数组 XX中的所有字符进行替代,其替代值仍存入数组 XX的对应的位置上,最后调用函数WriteDat()把结果 XX输出到文件 out dat中。替代关系: f(p)=P*11 mod 256, mod为取余运算, P是数组 XX中某一个字符的 ASC 码值, f(p)是计算后得到的无符号整 型值 (注意:中间变量定义成整型变量 ),如果计算后 f(p)
2、的值小于等于 32或f(p)对应的字符是小写字母,则该字符不变。否则用 f(p)替代所对应的字符。 【试题程序】 #include #include #include unsigned char xxESO80 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(voi
3、d) 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; felose(fp); return 0, void WriteDat(void) FILE*fp; int i; fp=fopen(“out dat”, “W”); for(i=0; i maxline; i+) printf(” s n”, xxi); fprintf(fp, “ s n”, xxi); fclose(fp); 计算机三级数据库技术(上机操作)机试模拟试卷 3答案与解析 一、程序设计题 1 【正确答案】 void encryptChar() int i, j, val *定义变量 * for(i=0;i=a val一 z) *判断条件 * continue; else xxij=val;