首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。请编钊函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx
函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。请编钊函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx
admin
2009-02-19
22
问题
函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。请编钊函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS9.DAT中。
替代关系:f(p)=p*11 mod 256 (p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)的值小于等于32,则该字符不变,否则将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 ( ) )
{
printf ("数据文件ENG9.IN不能打开! \n\007");
return;
}
encryptChar ( );
WriteDat ();
}
int ReadDat (void)
{
FILE *fp;
int i= 0;
unsigned char *p;
if ( (fp = fopen("ENG9.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("PS9.DAT", "w" );
for(i = 0; i < maxline; i++)
{
print f ( "%s\n" , xx
);
fprintf(fp, "%s\n", xx
); }
fclose(fp);
}
选项
答案
void encryptChar() { int i; char *pf; for (i=O; i<maxline; i++) { while (*pf ! =0) { if(*pf%2==0 || *pf*11%256<-32); /*如果原字符的ASCII值是偶数或计算*/ else *pf=*pf*11%256; /*否则将所对应的字符进行替代*/ } } }
解析
本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行。当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它进行条件判断。根据题意,条件用“if(*pf%2==0||*pf*11%256<=32)”来实现,如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前字符乘以11的结果再去与256求余数,处理完毕后,指针去取下一个字符。如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。
转载请注明原文地址:https://jikaoti.com/ti/h7Q7FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
通过EPP协议进行数据传输系统最高能达到______速率。
无论是386处理器,还是486处理器、PenUum系列处理器,它们均有3种工作模式,即实模式、保护模式和______。
所谓“变号操作”是指将一个有符号整数变成绝对值相同,但符号相反的另一个整数。假设使用补码表示的8位整数x=10010101,则x经过变号操作后结果为 ( )。
下面是有关超文本的叙述,其中错误的是
下面是关于82593。可编程中断控制器的叙述,其中错误的是:
Windows98支持多种不同类型的文件系统,并可以安装第三方提供的文件系统。Windows98环境下,DVD—ROM采用的文件系统为______。
在Windows98中,系统注册表由3个文件构成(即注册表数据分存在3个文件中),它们分别是Config.pol、System.dat和【】。
CCD芯片的像素数目是数码相机的重要性能指标,它与可拍摄的图像分辨率有密切的关系。假定一台200万像素数码相机,它所拍摄的像片能达到的最大分辨率是多少?______
微软公司开发了一种音视频流媒体文件格式,其视频部分采用了MPEG-4压缩算法,音频部分采用了压缩格式WMA,且能依靠多种协议在不同网络环境下支持数据的传送。这种流媒体文件的扩展名是( )。
Pentium微处理器对存储器页面进行管理时,在页表项描述符中设置了一个标志位,用于标识该页是否被修改过。当页面准备写回磁盘时,若该标志位的状态为______,则无需向磁盘重写,只要简单地放弃该页面即可。
随机试题
某企业2008年息税前利润为200万元,企业资产总额为1000万元,资产负债率为40%,负债资金平均年利率为10%。企业没有优先股和租赁费用。要求:(1)计算企业2008年利息费用;(2)计算企业财务杠杆系数。(注:计算结果保留小数点后两位)
男,56岁,左小腿轻度肿胀,有多条蚓状血管团,其内有硬结,症状逐年加重,如不进行治疗,其最严重的后果是
眶距增宽症常见术后并发症不包括以下哪一项
用成本计算估价法计算国产非标准设备原价时,利润的计算基数中不包括的费用项目是()。【2006年真题】
以课程任务为依据进行分类,课程可分为()。
6,7,18,23,38,()。
设周期为4的函数f(x)处处可导,且,则曲线y=f(x)在(-3,f(-3))处的切线为______.
设随机变量X与Y相互独立,且X服从区间[-1,2]上的均匀分布,y的分布律为Y~,则概率P{X<Y}=
在VisualFoxPro中,程序中不需要用PUBLIC等命令明确声明和建立,可直接使用的内存变量是()。
设有订单表order(订单号,客户号,职员号,签订日期,金额),查询2011年所签订单的信息,并按金额降序排序,正确的SQL命令是( )。
最新回复
(
0
)