首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
读函数ReadDat()实现从文件ENG28.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用写函数WriteDat()把结果xx输
读函数ReadDat()实现从文件ENG28.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用写函数WriteDat()把结果xx输
admin
2009-02-15
85
问题
读函数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())
{
print f ("数据文件 ENG28.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, "%s\n", xx
);
}
fclose(fp);
}
选项
答案
void encryptChar ( ) { int i; char *pf; for ( i = 0; i〈maxline; i++) { pf=xx [i]; while (*pf ! =0) { if ((*pf*11%256>=’a’ && *pf*11%256〈=’z’) || *pf*11%256〈=32) { /*如果计算后的值小于等于32或对应的字符是小写字母*/ pf++; /*则不作任何操作,取下一个数进行处理*/ continue; } *pf=*pf*11%256; /*否则用新字符来替代这个字符*/ pf++; /*取下一个字符*/ } } }
解析
本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行。当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它进行条件判断。根据题意,条件用“if((*pf*11%256>=’a’&&*pf*11%256〈=’z’)||*pf*11%256〈=32)”语句来实现。如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前字符乘以11的结果再去与256取余,处理完毕后,指针去取下一个字符。如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。
转载请注明原文地址:https://kaotiyun.com/show/XLfZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
综合布线系统可分成6个子系统:()、配线子系统、干线子系统、设备间子系统、管理子系统和建筑群子系统。
()允许区域分散的组织在逻辑上成为一个新的工作组,而且同一工作组的成员能够改变其物理地址而不必重新配置结点。
目前内部网关协议主要有路由信息协议和()。
Windows系统常用的网络信息及应用服务包括:DHCP动态主机配置协议、WWW服务、FTP文件传输服务、E-mail电子邮件服务和()。
目前,宽带接入技术主要包括:()技术、()技术、光纤同轴电缆混合网HFC技术、光纤接入技术与无线接入技术。
()是指如何保证信息在网络传输的过程中不被泄露与不被攻击。
()技术是向一组独立的计算机提供高速通信线路,组成一个共享数据存储空间的服务器系统,提高了系统的数据处理能力。
()使得文件的恢复变得复杂而缓慢,因为文件并不是连续地存储在备份介质上的。
A、 B、 C、 D、 C路由表的主要内容包括目的网络地址、下一跳路由器地址和目的端口等信息。另外,每一台路由器的路由表中还包含缺省路由的信息。缺省路由又称为缺省网关,如果目标网络没有直接显示在路由表里的时候
随机试题
某公司于2007年发行面额为1元的普通股1000万股,每股发行价格为8元,融资费用率为全部发行所得资金的2%,第一年股利率为10%,以后每年递增5%。2008年市场无风险报酬率为10%,市场平均风险股票必要报酬率为13%,该公司普通股β值为1.7。要
溯洄从之,道阻且跻。
[*]
适于采用观察法收集资料的是
工程建设监理招标的宗旨是对监理单位()的选择。
某商业银行在发放贷款时,要求借款人以第三方作为还款保证。若借款人在贷款到期时不能偿还贷款本息,则保证人必须代为清偿。这是风险管理技术和措施的()方法。
根据商标法及相关规定,工商行政管理部门处理侵犯注册商标专用权纠纷,认定侵权行为成立的,可以作出下列哪些决定?
德育过程是培养学生品德的过程,学生的品德包括()。
商鞅变法
Whichofthefollowingcentralbankactionswouldbeappropriatetocombatrapidinflation?
最新回复
(
0
)