首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件ENG62.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出
函数ReadDat()的功能是实现从文件ENG62.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出
admin
2010-06-17
31
问题
函数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全国计算机三级
相关试题推荐
在采用ADS1.2集成开发工具软件开发基于ARM微处理器的嵌入式系统软件时,下面有关地址映射的说明中,不正确的是()。
嵌入式系统的开发过程按顺序可以分成【77】分析与规格说明、系统设计、【78】设计、系统集成与测试等4个阶段,测试的目的是验证模块/系统的功能和性能,以及发现错误。
SoC芯片中的CPU绝大多数是以IP核的方式集成在芯片中的,很少再自行设计开发。目前32位嵌入式处理器主要采用的是由__________【41】国一家专门从事RISC处理器内核设计公司设计的__________【42】内核。
关于ARM嵌入式处理器的工作状态,以下说法错误的是()。
ARM处理器Cortex系列包括Cortex嵌入式处理器和Cortex应用处理器,其中Cortex嵌入式处理器包括主要应用于控制领域的__________【49】系列和面向实时应用领域的__________【50】系列。
经典ARM处理器有7种异常:主要包括复位RESET、未定义指令UND、软件中断SWI、指令预取中止PABT、数据访问中止DABT、外部中断请求IRQ以及【47】,其中优先级最高的异常是【48】。
下图是嵌入式系统硬件部分的逻辑组成及其与外部世界关系的示意图,其中CPU中的组成部分A是【41】;组成部分B是【42】。
下面列出的条目中,哪些是事务并发执行中可能出现的主要问题________。Ⅰ.丢失更新Ⅱ.对未提交更新的依赖Ⅲ.不一致的分析
中断及中断处理是计算机系统的重要功能,下列哪个(些)可能成为中断源?()Ⅰ.输入、输出设备Ⅱ.数据通道Ⅲ.时钟Ⅳ.软件
随机试题
某企业准备用自有资金2亿元投资一个项目,现在A、B两个项目可供选择。据预测,未来市场状况存在繁荣、一般、衰退三种可能性,概率分别为0.2、0.5和0.3,两项投资在不同市场状况的预计年报酬率如下表所示。为了作出正确决定,公司需进行风险评价。根据以上资料
下列哪些部位的淋巴汇入腰淋巴结:
悬空式桥体与黏膜的关系是
关于糖尿病酮症酸中毒的描述中正确的是()
张某通过司法考试后,没有取得律师执业证书,接受赵某的委托从事民事代理业务,并收取代理费1万元,对于张某的该行为,应当如何处理?()
下列设备中,属于输入设备的有()。
一天中午,七年级的一批学生正在操场上打篮球,战况“激烈”。学生Z和学生C从人群中冲了出来,两人拳脚相加,气势凶猛,我见这阵势,就停在十几米外的地方用冷眼瞅着他俩。大概Z同学也看到了我的神态,就慢慢地停止了他愤怒的“咆哮”。待他俩过来,我默默地看着
组织文化建设的主要内容有()。
有心理学家认为人的大脑中有两套系统,即系统1和系统2。系统1的运行是无意识且快速的,不怎么费脑力,完全处于自主控制状态。系统2则将注意力转移到需要费脑力的大脑活动上来,例如复杂的运算。系统2的运行通常与行为、选择和专注等主观体验相关联。根据上述定
【B1】______【B7】______
最新回复
(
0
)