首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件ENG18.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结
函数ReadDat()的功能是实现从文件ENG18.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结
admin
2009-02-19
23
问题
函数ReadDat()的功能是实现从文件ENG18.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS18.DAT中。
替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(P)的值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。
注意:部分源程序已给出。
原始数据文件存放的格式是:每行的宽度均小于80个字符。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
#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("数据文件 ENG18.IN不能打开! \n\007");
return;
}
encryptChar();
WriteDat ( );
}
int ReadDat (void)
{
FILE *fp;
int i=0;
unsigned char *p;
if((fp = fopen("ENG18.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("PS18.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>=’0’ && *pf*11%256〈=’9’) || *pf*11%256〈=32) {pf++; continue;} /*如果计算后的值小于等于32或f(p)对应的字符是数字0至9,则该字符不变*/ *pf=*pf*11%256; /*否则按给定的替代关系进行替代*/ pf++; } } }
解析
本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行,当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它行条件判断,根据题意,条件用“if(*pf*11%256>=’0’&&*pf*11%256〈=’9’)||*pf*11%256〈=32)”语句来实现,如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前字符乘以11的结果再去与256求余数。处理完毕后,指针去取下一个字符。如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。
转载请注明原文地址:https://jikaoti.com/ti/NvC7FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
以下关于嵌入式系统软件的描述中,错误的是()。
以下不属于实时操作系统特征的是()。
下面关于嵌入式系统中使用的触摸屏的叙述中,错误的是()。
对于ARM系列,最适合高端应用的嵌入式处理器是()。
如下关于μCOS—Ⅱ/Ⅲ的说法,正确的是()。
与其它内核相比,关于ARM内核的主要特点,以下说法错误的是()。
老年人监护系统由一个社区监控中心及若干便携式监护仪组成,便携式监护仪可由老年人随身携带,时刻监测老年人的脉象。便携式监护仪的基本功能要求如下:a、通过在老年人手腕上佩戴的压电传感器检测脉搏信号,并根据脉搏信号来测算心脏功能是否异常,若异常,则自动
数据库管理系统、图形用户界面、互联网浏览器、媒体播放器等软件,如果运行在嵌入式系统上,往往具有内部结构精简,【69】轻量化,占用存储资源【70】的特点。
已知内存0x80000000中的内容为0x33,0x80000001中的内容为0x31,0x80000002中的内容为0x30,0x80000003中的内容为0x32,则ARM在大端模式下地址0x80000000所指示的一个字为()。
某食堂的售饭系统由一个后台数据库系统及若干个前台刷卡机组成,其基本功能具体描述如下:a、刷卡机的硬件组成中,除了必须的最小硬件系统外,还需要IC卡读写模块、8段LED组成的显示模块、键盘模块、蜂鸣器模块、RS-485通信模块等。b、客户需要事先办理本系
随机试题
注射破伤风抗毒素(TAT)的作用是()
1989年《死者遗产继承法律适用公约》对遗产继承方面冲突法的国际统一具有重要的意义,该公约对不属于其调整范围内的事项作了明确规定,这些事项包括()
构成德育过程的基本要素是()、()、()、()。
磺胺类药有哪几类?各有何特点?
河北大海成衣有限公司(海关B类管理企业)2009年从境外购进一批棉坯布(加工贸易限制类商品),用于加工出口衬衣(加工贸易允许类商品)。该企业为此向主管海关办理了电子化手册备案。由于该企业某项工艺不能达到出口合同要求,经海关批准将半成品运至天津大益制衣公司(
甲公司2011年1月1日购人面值为2000万元,年利率为4%的A债券。取得时支付价款2080万元(含已到付息期尚未发放的利息80万元),另支付交易费用10万元,甲公司将该项金融资产划分为交易性金融资产。2011年1月5日,收到购买时价款中所含的利息80万元
ABC会计师事务所是普通合伙会计师事务所。A注册会计师作为关键项目合伙人负责审计x公司(境内外同时上市公司)2011年度财务报表。A注册会计师在审计过程中发现,在2011年度,x公司管理层与其母公司虚构了多笔大额关联交易,同时与母公司开户行串通编造虚假的银
下图为我国某城市某日“气温日变化曲线图”,读图完成下题。该城市可能是()。
苏格拉底声称,一册好书,能够______他走遍全世界。他是为求知而读书的,读一本书就了解了世界的一个方面。可以想象出他的挑剔,他的______,他的求知的贪婪,还有他的目光的______。依次填入画横线部分最恰当的一项是()。
公务员热(crazeforcivilservantjobs)是指越来越多的人参加政府机构招聘考试(recruitmentexaminations)的社会现象。据报道,近几年每年的报考人数都超过百万,平均每个岗位有50—60名竞争者,最热门的职位能
最新回复
(
0
)