首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChat(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx
函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChat(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx
admin
2009-02-15
48
问题
函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChat(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS9.DAT中。
替代关系:f(p)=p* 11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)的值小于等于32,则该字符不变,否则将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 ("数据文件ENG9.IN不能打开! \n\007 ");
return;
}
encryptChar();
WriteDat();
}
int ReadDat(void)
FILE *fp;
int i= 0;
unsigned char *p;
if ((fp = fopen("ENG9.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("PSg.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]; /* 指针pf指向当前行的首地址*/ while (*pf ! =0) { if(*pf%2==0 || *pf*11%256<=32) ; /*如果原字符的ASCII值是偶数或计算后的值小于等 于32,则该字符不变* / else *pf=*pf*11%256; /* 否则将所对应的字符进行替代*/ pf++; /*指针pf指向下一个字符*/ } } }
解析
本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行。当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它进行条件判断。根据题意,条件用“if(*pf%%2==0 || *pf*11% 256<=32)”来实现,如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前字符乘以11的结果再去与256求余数,处理完毕后,指针去取下一个字符。如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。
转载请注明原文地址:https://www.kaotiyun.com/show/P3fZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
下列选项中,关于服务器采用的相关技术的说法不正确的是()。
能够提供网络用户访问文件和目录的并发控制,而且具有安全保密措施的局域网服务器是()。
传统以太网的物理层标准的命名方法是:IEEE802.3×Type-yName,下面哪个表述是错误的?______。
消息摘要算法MD5(MessageDigest)是一种常用的Hash函数。MD5算法以一个任意长的数据块作为输入,其输出为一个______比特的消息摘要。
DQDB协议在网络负载重时的性能特点是网络利用率高,在网络负载轻时的性能特点是______。
驻留在多个网络设备上的程序在短时间内同时产生大量的请求消息冲击某Web服务器,导致该服务器不堪重负,无法正常响应其他合法用户的请求,这属于______。
如果需要第三方软件采用无连接方式监控路由器RG的运行状态,请写出路由器RG必须支持的协议名称。
A、 B、 C、 D、 Ctrace命令是一个用来查询网络上数据流向的理想工具,它采用与ping命令相同的技术,用于跟踪测试分组转发路径的每一步。从trace命令跟踪的结果可以了解路径上每一级路由器的工作状况
A、 B、 C、 D、 Cnetstat命令是用来显示活动的TCP连接、侦听的端口、以太网的统计信息、IP路由表和IP统计信息。-s用于显示协议统计信息,-c用于显示以太网统计信息,-r用于显示路由表中的内容
用管程解决进程间同步关系时,在管程内使用的对象是()。
随机试题
应收款项评估中,下列情形中可直接判断为全部坏账损失的是()。
WindowsServer2008提供了一些默认的用户账户,用于执行特定的管理任务或能够访问特定的网络资源,其中最常用的是Administrator账户和_____。
引起猩红热的主要病原菌为
A.金黄色葡萄球菌肺炎B.腺病毒肺炎C.毛细支气管炎D.支原体肺炎E.支气管肺炎主要由肺炎链球菌引起的肺炎是
患者,男性,35岁。近3个月来经常不明原因地紧张、害怕,思虑多,不能控制胡思乱想,但想法是自己的。为此感到苦恼而就诊。患者存在的主要症状是
雷诺数物理意义表示()。
河北省某个县里有个小孩家里很贫穷,边照顾父母边上学,对此谈谈你的看法。
甲为杀死乙而向乙射击,第一枪未打中,在其能继续向乙开枪射击的情况下,甲停止了射击。甲的行为属()。
在大型企业的数据库应用系统中,联机事务处理(OLTP)和联机分析处理(OLAP)是常见的数据管理与数据分析形式。关于OIXP和OIAP,一般情况下,下列说法正确的是()。
近年来,随着中国经济高速发展,外国人在中国工作的机会大幅增加。2012年,有24.64万外国求职者在中国注册(register),这一人数还在迅猛增长。英语教师是外国人在中国工作的一个重要岗位。此外,中国在销售、工程(engineering)和管理等领域对
最新回复
(
0
)