首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件ENG4.1N中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果x
函数ReadDat()的功能是实现从文件ENG4.1N中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果x
admin
2009-02-15
44
问题
函数ReadDat()的功能是实现从文件ENG4.1N中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果xx输出到之件PS4.DAT中。
替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或大于130,则该字符不变,否则将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("数据文件ENG4.IN不能打开! \n\007");
return;
}
encryptChar();
WriteDat ( );
}
int ReadDat (void)
{
FILE *fp;
int i = 0;
unsigned char *p;
if((fp = fopen("ENG4.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("PS4.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*11%256>130 || *pf*11%256<=32) /*如果计算后的值小于等于32或大于130*/ /*则该字符不变*/ else *pf=*pf*11%256; /*否则将所对应的字符进行替代*/ pf++; /*指针pf指向下一个字符*/ } } }
解析
本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行,当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它进行条件判断。根据题意,条件用“if(*pf*11%256>130||*pf*11%256<=32)”语句来实现,如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前的字符乘以11的结果再去与256求余数。处理完毕后,指针去取下一个字符。如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。
转载请注明原文地址:https://jikaoti.com/ti/PIh7FFFM
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
入侵防护系统主要分为()防护系统、()防护系统和应用入侵防护系统。
根据防火墙的实现技术,分为过滤路由器、应用级网关、应用代理和()。
()使得文件的恢复变得复杂而缓慢,因为文件并不是连续地存储在备份介质上的。
在交互式应用中没有方向切换的时间延迟是()。
下列选项中,关于弹性分组环的叙述不正确的是()。
在小型的并且不接入Internet的网络中,域名解析可以采用静态的方法,即由hosts文件完成这一工作,在每台计算机上的hosts文件中配置主机名和IP地址的转换关系;但在大型的网络中,域名解析通常采用动态的方法,完成动态名称解析的系统称()。
在缓解和解决IP地址耗尽问题的措施中,[6]可以把大的网络分成小的子网,[7]可以实现本地地址和外部地址的转换,例如把子网掩码为255.255.0.0的网络61.31.0.0分为两个子网,假设第一个子网为61.31.0.0/17,则第二个子
下图是在网络中划分VLAN的连接示意图。VLAN可以不考虑用户的物理位置,而根据功能、应用等因素将用户从逻辑上划分为一个个功能相对独立的工作组,每个用户主机都连接在支持VLAN的交换机端口上,并属于某个VLAN。(1)创建一个名字为v2的虚拟局域
A、 B、 C、 D、 B虚拟局域网VLAN只能将在同一个物理网络上的主机进行逻辑分组,具有隔离广播域的功能,而且可以限制网上计算机互相访问的权限,路由器、三层交换机和带三层模块的网络互联设备均可以支持不同V
A、 B、 C、 D、 B网桥协议数据单元(BPDU)每隔2s定时发送一次,即更新周期为2s。在网络发生故障或拓扑结构发生变化时也会发送新的BPDU,以便维护生成树树状结构。
随机试题
一国货币当局维持固定汇率波动幅度时可以采取的措施不包括()
企业财务战略的内容不包括【】
治疗溃疡性结肠炎的首选药物是
下列不属于患者道德义务的是
下列调研活动中,属于房地产市场营销活动调研的内容是()。
2000年5月,王某因开办公司向李某借款30万元,期限为1年。王某以自己拥有的一套二室一厅的住房作为抵押,双方签订了书面的抵押合同并于同年办理了登记手续。2000年10月,王某将该套房屋出租给张某,月租金1000元,租期2年,但王某未将房屋抵押一事告知
下列美术作品中,出自西汉卜千秋墓的是()。
下列选项中表述错误的是:
Thehumannoseisanunderratedtool.Humansareoftenthoughttobeinsensitivesmellerscomparedwithanimals,【B1】______this
FTP协议属于TCP/IP模型中的(1)协议,基于TCP协议在客户端和服务器之间传送所有数据,TCP是一个(2)的协议,其主要特点是(3),这对于文件传输而言是非常重要的。其中(1)、(2)备选答案:(1)A.应用层B.传输层C.
最新回复
(
0
)