计算机三级数据库技术模拟题2018年(7)_真题-无答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机三级数据库技术模拟题2018年(7)
(总分100,考试时间90分钟)
1. 函数ReadDat()的功能是从文件ENG.IN中读取一篇英文文章,存入到字符串数组XX中。

请编写函数encryChar(),按给定的替代关系对数组xx中所有字符进行替换,替换后的字符仍存入数组xx的对应的位置上,最后调用函数WriteDat(),把结果xx输出到文件PS.DAT 中。

替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII码值,f(p)是计算后新字符的ASCII码值),如果计算后f(p)的值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则将f(p)所对应的字符进行替代。

原始数据文件的存放格式是每行的宽度均小于80个字符(含标点符号和空格)。

请勿改动主函数main()、读函数ReadDaf()和写函数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) {
p=strchr(xx[i], "\n");
if(p)
*p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}
void WriteDat()
{
FILE*fp;
int i;
fp=fopen("ps.dat", "w");
for(i=0; i<maxline; i++)
{
printf("%s\n", xx[i]);
fprintf(fp, "%s\n", xx[i]);
}
fclose(fp);
}。

相关文档
最新文档