首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
读函数ReadDat()实现从文件ENG28.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数 encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用写函数WriteDat()把结果xx
读函数ReadDat()实现从文件ENG28.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数 encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用写函数WriteDat()把结果xx
admin
2009-02-24
34
问题
读函数ReadDat()实现从文件ENG28.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数 encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用写函数WriteDat()把结果xx输出到文件PS28.DAT中。
替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则将f(p)所对应的字符进行替代。
注意:部分源程序已给出。
原始数据文件存放的格式是:每行的宽度均小于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()
}
{
main ( )
{
clrscr ();
if (ReadDat ())
{
printf("数据文件ENS28.IN不能打开! \n\007");
return;
}
encryptChar ();
WriteDat ();
}
int ReadDat (void)
{
FILE *fp;
int i = 0;
unsigned char *p;
if((fp = fopen("ENG28.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("PS28.DAT", "w");
for (i = 0; i 〈 maxline; i++)
{
printf("%s\n", xx
);
fprintf(fp, "%sin", xx
);
}
fclose (fp);
}
选项
答案
void encrypt Char() { int i; char *pf; for (i=0; i〈maxline; i++) { pf=xx [i]; while (*pr !=0) { if ((*pf*11%256>=’a’ && *pf*11%256〈=’z’) || *Pf*11%256〈=32) { /*如果计算后的值小于等于32或对应的字符是小写字母*/ pf++; /*则不作任何操作,取下一个数进行处理*/ continue; } *p f=*pf*11%256; /*否则用新字符来替代这个字符*/ pf++; /*取下一个字符*/ } } }
解析
本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行。当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它进行条件判断。根据题意,条件用“if ((*pf*11%256>=’a’&&*pf*11%256〈=’z’)||*pf*11%256〈=32)”语句来实现。如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前字符乘以11的结果再去与256取余,处理完毕后,指针去取下一个字符。如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。
转载请注明原文地址:https://kaotiyun.com/show/lRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
下列不是数据字典存储的信息的是
保持事务的原子性是数据库管理系统中哪一个部件的责任?
对于学生信息表:student(sno,sname,sex,age,dept),如果把学生“张明”的姓名改为“张岩”,则正确的语句是
下面软件结构图表示的是浏览器/服务器模式的哪种结构
设有关系模式R(A,B,C,D,E,F),根据语义有如下函数依赖集:F={A→B,(C,D)→A,(B,C)→D,(C,E)→D,(A,E)→F)。则关系模式R的候选码是()。
广域网覆盖的地理范围从几十公里到几千公里,其通信子网一般采用______技术。
关于并行数据库系统的叙述中,错误的是
在UML模型中,用于表达一系列的对象、对象之间的联系以及对象间发送和接收消息的图是【15】。
假定我们要建立一个学术论文数据库,存储如下信息:◎学术期刊有期刊编号、期刊名、发行单位;◎作者有作者编号、作者姓名、电子邮件;◎论文有论文编号、论文标题、摘要、正文;◎每篇论文只被一个期刊录用,每个期刊可以录用多篇论
随机试题
Yourbossholdsyourfutureprospectsinhishands.Somebossesarehardtogetalongwith.Somehaveexcellentqualificationsb
承包商可索赔的人工费包括()
下列不属于金融监督管理机构的是()。
在明确了企业的薪酬政策与目标之后,企业薪酬管理的基本程序还包括()。
剥开笼罩在华尔街金融危机之上的迷雾,我们可以清醒地认识到:虽然资本市场在经济发展过程中起着__的作用,但绝不能忽略对市场的__,过度的自由化导致的很可能是一场灾难。填入划横线部分最恰当的一项是()。
公共危机管理是现在经常被提起的话题。在社会公共事件频发的今天,如何提高政府的公共危机管理能力是各级政府经常探讨的话题。2014年3月1日,昆明一伙歹徒持械冲进昆明火车站广场、售票厅,见人就砍,现场有人伤亡;歹徒手持刀具、统一着装;10多辆警车赶赴现场抓捕
有医学研究显示,行为痴呆症患者大脑组织中往往含有过量的铝。同时有化学研究表明,一种硅化合物可以吸收铝。陈医生据此认为,可以用这种硅化合物治疗行为痴呆症。以下哪项是陈医生最可能依赖的假设?
1978年12月召开的党的十一届三中全会,重新确立“解放思想、实事求是”的思想路线。党的十一届三中全会标志着新时期党的基本路线开始形成,主要表现在
Itmusthavebeenaftertwoo’clockinthemorningwhenthelastguests【C1】______theirleave,andalthoughwehadenjoyedtheir
A、Themanislateforthetripbecauseheisbusy.B、ThewomanisgladtomeetMr.Browninperson.C、Themanismeetingthewom
最新回复
(
0
)