首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数RData()实现从文件IN.dat中读取一篇英文文章,存入字符串数组str中,请编写函数encryptChar(),其功能是:按给定的替代关系对数组str中的所有字符进行替代后,仍存入数组str的对应位置上。最后调用函数WData(),把结果str输
函数RData()实现从文件IN.dat中读取一篇英文文章,存入字符串数组str中,请编写函数encryptChar(),其功能是:按给定的替代关系对数组str中的所有字符进行替代后,仍存入数组str的对应位置上。最后调用函数WData(),把结果str输
admin
2010-09-05
33
问题
函数RData()实现从文件IN.dat中读取一篇英文文章,存入字符串数组str中,请编写函数encryptChar(),其功能是:按给定的替代关系对数组str中的所有字符进行替代后,仍存入数组str的对应位置上。最后调用函数WData(),把结果str输出到OUT.dat文件中。
替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将 f(p)所对应的字符进行替代。
原始数据文件存放的格式是:每行的宽度均小于80个字符。
注意:部分程序已经给出。请勿改动主函数main()、读数据函数RData()和输出数据函数 WData()的内容。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
unsigned char str[50] [80];
int maxline = 0; /* 文章的总行数 */
int RData (void);
void WData (void);
void encryptChar()
{
}
void main ()
{ if (RData())
{ printf("数据文件 IN. dst 不能打开! \n\007");
return;
}
encryptChar ();
WData ();
}
int RData (void)
{ FILE *fp;
int i = 0;
unsigned char *p;
if ((fp = fopen("IN. dat", "r")) == NULL)
return 1;
while (fgets(str
, 80, fp) != NULL)
{ p = strchr(str
, ’\n’);
if (p)
*p =0;
i++;
}
maxline = i;
fclose (fp);
return 0;
}
void WData(void)
{ FILE *fp;
int i;
fp = fopen("OUT. dat", "w");
for (i=0; i<maxline; i++)
{ printf ("%s\n", str
);
fprintf(fp, "%s\n", str
);
}
fclose (fp);
}
选项
答案
void encryptChar() { int i; char *pf; for (i=0; i<maxline; i++) { pf = str[i]; while (*pf != 0) { if ((*pf>=’A’ && *pf<=’Z’)||*pf*11%256<=32) { pf++; continue; } *pf = *pf * 11 % 256; pf ++; } } } [解题思路] 在for循环语句中对字符串数组str中的每个字符用逻辑表达式(*pf>=’A’&& *pf<=’Z’)||*pf*11%256<=32进行逻辑判断,如果其值为1,则该字符不变,否则按照给定的替代关系f(p)=p*11 mod 256求出其要替代的字符的ASCII值,然后对该字符进行替代。
解析
转载请注明原文地址:https://kaotiyun.com/show/NuvZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
对调用数据库数据的命令进行语法、语义和权限检查的信息,存储于下列哪一个(些)结构中?
一个联系转换为一个关系模式,若联系为n:m,则转换成的关系模式有几个?()
下面所列的条目中:Ⅰ.语法检查Ⅱ.语义检查Ⅲ.用户存取权限检查Ⅳ.数据完整性检查当用户发出查询数据库数据的命令时,数据库管理系统需要进行的检查是______。
有如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关系DEPT的主键是部门号。若执行下面列出的操作,哪个操作不能成功执行?______。
若关系R和S的关系代数操作的结果如下,这是执行了()。[*]若关系R和S的关系代数操作的结果如下,这是执行了()。
在虚拟段式存储管理中,若逻辑地址的段内地址大于段表中该段的段长,则发生【】。
单键表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?
m阶B树的根结点至少有【】棵子树。
一个公司有若干名兼职人员,而每个兼职人员有可能在多家公司打工,则公司与兼职人员之间具有
当用户程序执行访管指令时,中断装置将使中央处理器如何工作?
随机试题
关于缓刑,下列哪一选项是错误的?()
根据《增值税暂行条例》的规定,增值税分为三档,这三档是()
包裹在肝Glisson鞘内的管道有
患者身热,微恶风,汗少,肢体酸重,头昏重胀痛,咳嗽痰黏,鼻流浊涕,心烦,口渴,舌苔薄黄而腻,脉濡数。治疗应首选( )。
下列关于动态投资回收期的表述中,正确的有()。
印花壁纸(也可铺地用)
关键风险指标是代表某一业务领域操作风险变化情况的统计指标,是识别、计量操作风险的重要工具。()
具有C类神经症剖而图的患者在临床上所表现的症状特点是()。
我国学校德育实施的主要途径是思想品德课。()(2013.山东)
狭义的政府职能即()。
最新回复
(
0
)