1、计算机三级数据库技术(上机操作)机试模拟试卷 43及答案与解析 一、程序设计题 1 函数 ReadDat()实现从数据文件 in dat中读取一篇英文文章存入到字符串数组xx中,请编写函数 ConvertCharD(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母。如果是字母 a,则改写成字母 z,其他字符保持不变。把已处理的字符串仍按行重新存入字符串数组 xx中。最后 main()函数调用函数 WriteDat()把结果 XX输出到文件 out dat中。 例如:原文: Adb Bedza abek LL hj 结果: Aca Bbcyz zabj LLgi 原
2、始数据文件存放的格式是:每行的宽度均小于 80个字符含标点符号和空格。 【试题程序】 #include #include char xx50 80; int maxline=0; *文章的总行数 * int ReadDat(void); void WriteDat(void); void ConvertCharD(void) void main() if(ReadDat() printf(”数据文件 IN DAT不能打开 ! n 007”); return; ConvertCharD(); WriteDat(): int ReadDat(void) FILE*fp; int i=0: 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; void WriteDat(void) FILE*fP; int i; fp=fopen(“out dat”, “W”); for(i=0;i=a xxij=z) if(xxi-Fjl=a)xxij=zt else xxQj-一;