首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件ENG62.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出
函数ReadDat()的功能是实现从文件ENG62.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出
admin
2010-06-17
28
问题
函数ReadDat()的功能是实现从文件ENG62.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS62.DAT中。
替代关系:f(p)=p*13mod256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或其ASCH值是偶数,则该字符不变,否则将f(p)所对应的字符进行替代。
注意:部分源程序已给出。
原始数据文件的存放格式是每行的宽度均小于80个字符。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
unsigned char xx[50] [80];
int maxline=0;
int ReadDat(void);
void WriteDat(void);
void encryChar()
{
}
void main ()
{
clrscr();
if (ReadDat ( ))
{
printf ("数据文件ENG62.IN不能打开!\n\007");
return;
}
encryChar();
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
unsigned char *p;
if((fp=fopen("ENG62.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()
{
FILE *fp;
int i;
fp= fopen("ps62.dat","w");
for(i=0;i<maxline;i++)
{
printf("%s\n",xx
);
fprintf(fp,"%s\n",xx
);
}
fclose(fp);
}
选项
答案
void encryChar() { int i; char*pf; for(i=0;i<maxline;i++) { pf=xx[i]; /*指针pf指向该行的首地址*/ while(*pf!=0) { if(((*pf*13%256)%2==0) || (*pf*13%256<=32)) /*如果计算后的值小于等于32或其ASCII值是偶数*/ { pf++; /*则该字符不变,去取下一个字符*/ continue; /*退出此次循环*/ } *pf=*pf*13%256; /*否则将新字符替代原字符*/ pf++; /*去取下一个字符*/ } } }
解析
本题考查的知识点如下:
(1)字符对应的ASCII码。
(2)判断结构中多个条件的“或”运算。
(3)退出一次循环。
在C语言中,字符可参与任何整数运算。实际上,是字符的ASCII码参与了运算。所以可以直接用字符代入f(p)的关系式中求出替换字符。若f(p)≤32或其ASCII值是偶数,则该字符不变。两个条件满足一个即可,所以这两个条件之间用“或”运算。若字符不变,则可不必计算替换字符,使用continue跳出本次循环,进入下一次循环的条件判断中。因为这里不是直接退出本层循环结构,所以不能使用break语句。
转载请注明原文地址:https://jikaoti.com/ti/Mk97FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
与其它内核相比,关于ARM内核的主要特点,以下说法错误的是()。
实时操作系统完成每次任务所需时间的偏差称为【71】。硬实时操作系统的这一参数比软实时操作系统的这一参数【72】。
在μC/OS-II操作系统中,当处于运行态的任务执行节拍延时函数OSTimeDly()后,该任务将转入【73】_______态。一旦预定的延时时间达到,该任务立即转入【74】_______态。
在ARM汇编语言程序设计中常有子程序设计,下面指令中不属于子程序调用或者返回的指令是()。
与个人计算机(PC)相比,嵌入式系统具有许多不同的特点。下面不属于嵌入式系统特点的是()。
指纹考勤机(如图所示)通常用于在工作日的上班时间,采集员工指纹信息,以确定该员工是否正常上班。其基本功能要求有:a、能够采集指纹信息,并求取指纹特征,然后与事先预存在指纹特征库中的指纹特征比对。b、系统中需存储指纹图原始信息和指纹特
在ARM指令中,两个无符号数在寄存器R5和R6中,若R5<R6,则将R5与R6进行逻辑与操作,结果放R7中,并要求更新程序状态寄存器的状态位。用两条指令完成,则分别为【51】和【52】
IEEE的实时UNIX分委会认为实时操作系统应该具备若干特征,下面()不是实时操作系统必须具有的特征。
下列哪个不是RTOS的实时指标?
中断及中断处理是计算机系统的重要功能,下列哪个(些)可能成为中断源?()Ⅰ.输入、输出设备Ⅱ.数据通道Ⅲ.时钟Ⅳ.软件
随机试题
CFCA的根CA管理和发布的证书包括()
下述间接法描述不确切的是
A.苯二氮革类中毒B.有机磷中毒C.吗啡中毒D.氰化物高浓度吸入中毒E.香豆素类杀鼠药中毒鼻出血、齿龈出血、咯血、便血、尿血及贫血,出血、凝血时间延长的是()。
检察院在审查起诉期间退回补充侦查的案件,公安机关应在多长时间内补充侦查完毕?重新开庭后,如果张某又提出拒绝法院为其指定的辩护人为其辩护,合议庭应如何处理?
可行性研究内容与初步可行性研究相比,主要区别在于()。
自动化仪表设备与管路进行脱脂处理时,可以采用工业用四氟化碳脱脂剂的有()。
ABC会计师事务所接受委托,审计W公司20×8年度的财务报表。L注册会计师了解和测试了与应收账款相关的内部控制,并将重大错报风险评估为高水平。L注册会计师取得20×8年12月31日的应收账款明细表,并于20×9年1月10日采用积极式函证方式对所有重要客户寄
企业集团从各子公司选拔优秀人才进人集团公司工作属于()。
A.BuildYourKid’sWorkSkillsB.PlaceTimeLimitsonLeisureActivitiesC.TalkabouttheFutureonaRegularBasisD.Help
商品品质条款[武汉大学2014国际商务硕士]
最新回复
(
0
)