计算机三级数据库机试模拟试题及答案解析(15)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机三级数据库机试模拟试题及答案解析(15)
(1/1)上机题
第1题
函数ReadDat()的功能是从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中。请编写函数encryptChar(),按给定的替代关系对数组xx中所有字符进行替换,替换后的字符仍存入数组xx的对应的位置上,最后调用函数WriteDat(),把结果xx输出到文件PS.DAT中。替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII码值,f(p)是计算后新字符的ASCII码值),如果原字符是大写字母或计算后f(p)的值小于等于32,则该字符不变,否则,将f(p)所对应的字符进行替换。
注意:原始数据文件的存放格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
【试题程序】
#include <stdlib.h >
#include <stdio.h >
#include <string.h >
#include <ctype.h >
unsigned char xx[50] [80] ;
int maxline = 0 ;
int ReadDat (void) ;
void WriteDat (void) ;
void encryChar ()
{
}
void main ()
system ("CLS") ;
if (ReadDat ())
{
printf ("数据文件ENG.IN 无法打开!
\n\007") ;
return;
}
encryChar () ;
WriteDat () ;
}
int ReadDat (void)
{
FILE * fp;
int i =0;
unsigned char * p;
if ((fp = fopen ("ENG. IN","r")) ==
NULL)
return 1 ;
while (fgets (xx[i] ,80, fp) ! =NULL)
{