首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()实现从文件eng.in中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件
函数ReadDat()实现从文件eng.in中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件
admin
2010-09-05
31
问题
函数ReadDat()实现从文件eng.in中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件ps10.dat中。
替代关系:f(p)=p*43 mod 256(p是数组中某一个字符的ASCII值,fO)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后fb)值小于等于32,则该字符不变,否则将qp)所对应的字符进行替代。
部分源程序己给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<ctype.h>
unsigned char xx[50][80];
int maxline=0;/*文章的总行数*/
int ReadDat(void)
void WriteDat(void)
void encryptChar()
{
}
void main()
{
clrscr();
if(ReadDat()){
printf ("数据文件 ENG. IN 不能打开! \n\007");
return;
}
encryptChar();
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
unsigned char *p;
if((fp=fopen("eng.in","r"))==NULL) return 1;
while(fgets(xx
,80,fp)!=NULL){
p=strchr(xx
,’\n’);
if(p) *p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}
void WriteDat(void)
{
FILE *fp;
int i;
fp-fopen("ps10.dat","w");
for(i=0;i<maxline;i++){
printf("%s\n",xx
);
fprintf(fp,"%s\n",xx
);
}
fclose(fp);
}
选项
答案
void encryptChar() { /*字符替换过程中,运算的中间结果可能超过256*/ /*因此采用整型存储中间结果*/ int i,j,t; for(i=0;i<maxline;i++) /*遍历每一行*/ { for(j=0;i<strlen(xx[i]);j++) { /*用控型变量进行所有运算*/ t=xx[i][j]; t=t*43%256; /*判断替换条件*/ if(t<=32 || xx[i][j]%2==0) continue; xx[i][j]=t; } } }
解析
关键点:
1.字符串读写。
2.由于fgets()函数读入数据时读入换行符’\n’,因而需要在xx数组每一行末尾将换行符’\n’替换成结束符’\0’。本题中此步已经在ReadDat()函数中完成。
3.算法:让字符指针pf指向每一行的开头然后逐一往后移动,在移动过程中按要求进行转换。*pf%2=0用于判断是否为偶数。If()条件语句用于控制不替代字符。
4.中间变量的类型选择整型。
转载请注明原文地址:https://jikaoti.com/ti/1w97FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
下列关于数据运算的叙述中,哪一条是不正确的?
在数据库的三级模式体系结构中,存在两次映像:外模式/模式映像和_____映像。
有些关系模式存在插入、删除异常、修改复杂、数据冗余等问题,规范化就是为了解决这些问题,将1NF修改为2NF主要是()。
OracleOLAP是Oracle数据库系统的______解决方案。
从资源分配的角度可将设备分为_____、共享设备和虚拟设备。
用值域的概念宋定义关系,关系是属性值域笛卡儿积的一个_____。
每个属性,有一个取值范围,这叫属性的【】。
如果关系模式R的属性之间不存在非平凡且非函数依赖的多值依赖,则R的规范化程度达到了【】。
当用户程序执行访管指令时,中断装置将使中央处理器如何工作?
SQL语言支持数据库三级模式结构;在SQL中,外模式对应于视图和部分基本表,模式对应于基本表全体,内模式对应于【】。
随机试题
环境污染物的生物转化是
A、成釉器B、牙乳头C、牙囊内层D、牙囊中间部分E、牙囊外层釉质由什么发育而成
某污水处理厂地处北方某市,采用活性污泥处理工艺处理城市污水,日处理水量50×104t。其水处理工艺流程为:外来污水--格栅--泵--曝气沉沙--初次沉淀池--曝气池--二沉池出水。二沉池出水大部分排入河里,部分出水经过沙滤等深度处理工艺,通过加氯消毒,成为
期货公司被撤销所有期货业务许可后,存续公司可以在进行工商变更登记后继续从事期货相关业务。( )
根据意识参与程度可将记忆分为()。
公安政治工作,是党的思想政治工作的重要组成部分,是公安机关战斗力生成的重要构成要素,是公安机关有效履行职责的根本保证。()
马克思指出:“他们战战兢兢地请出亡灵来给他们以帮助,借用他们的名字、口号和衣服,以便穿着这种服装,用这种借用的语言,读出历史的新场面。”这一观点适用于()。
accesswhetheronA.givingreporters【T1】______tomoreinformationandtheirreadersachanceB.itprovidespeoplefastacce
如何理解“四个尊重”是党和国家的一项重大方针?
E-R模型中,“基数”是指
最新回复
(
0
)