首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
读函数ReadDat()实现从文件ENG28.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用写函数WriteDat()把结果xx输
读函数ReadDat()实现从文件ENG28.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用写函数WriteDat()把结果xx输
admin
2009-02-15
71
问题
读函数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全国计算机三级
相关试题推荐
()用于放置进线设备、进行网络管理以及管理人员值班的场所。
IEEE802局域网参考模型将数据链路层分为()和介质访问控制子层。
Internet中的自治系统最重要的特点就是它有权自主决定在本系统内应采用何种()协议。
使用专用地址来规划内部网络地址系统时需要遵循的基本原则是:简捷,便于系统的扩展与管理和()。
在设置IIS安全性功能之前确认用户的用户标识,可以选择配置三种方法:身份验证和访问控制、IP地址和域名限制与()。
()一般是由计算机操作系统、数据库管理系统、应用软件与网络操作系统和防火墙来共同保障,通常采用的方法是用户访问权限的设置、用户口令加密、用户身份认证、数据加密与结点地址过滤等。
()能力是衡量服务器性能与选型的重要指标之一。
()技术是向一组独立的计算机提供高速通信线路,组成一个共享数据存储空间的服务器系统,提高了系统的数据处理能力。
入侵检测系统一般是由()、()、响应单元与事件数据库组成。
()使得文件的恢复变得复杂而缓慢,因为文件并不是连续地存储在备份介质上的。
随机试题
10岁男孩,系慢性型的小儿克山病,发作时采用的主要治疗措施,下列哪项不妥当
甲硝唑治疗阿米巴病的主要机制为
下列不属于护士收集资料方法的选项是
某企业计划从我国香港特别行政区进口一批IT设备,该企业认为这批设备可以享受CEPA项下的税收优惠政策。为了了解该批设备是否属于香港原产从而享受CEPA项下的优惠政策,该企业可以在进口的3个月以前向海关提供这批设备的进口情况材料申请:
因为中国金融期货交易所是公司制期货交易所,所以其经营目标是以营利为目标,追求利益最大化。()
教师在讲授时要遵循的原则有()。
阅读以下文字,完成问题。地球上生命的历史也就是生物与它们的环境相互作用的历史。动植物的形体和习性在很大程度上是由环境造成的,而反向作用,即生物对其所在环境的实际影响则相对较小。只有到了20世纪,作为物种之一的人类才获得了足够的力量,有效地改变他所
Thepublicopinionwasthatthetimewasnot______fortheelectionofsucharadicalcandidateasMr.Jones.
可行性研究的程序是______。
战略数据规划方法的主要内容包括()。
最新回复
(
0
)