首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上, 替代关系:f(p)=p*11 mo
函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上, 替代关系:f(p)=p*11 mo
admin
2009-02-24
55
问题
函数ReadDat()的功能是实现从文件ENG9.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,
替代关系: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++)
{
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]; /*指针pf指向当前行的首地址*/ whilie(*pf!=0) { if(*pf%2==0 ||*pf*11%256<=32); /*如果原字符的ASCII值是偶数或计算后 的值小于等于32,则该字符不变*/ else *pf=*pf*11%256; /*否贝Jj将所对应的字符进行替代*/ pf++; /*指针pf指向下一个字符*/ } } }
解析
本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行。当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它进行条件判断。根据题意,条件用“if(*pf%2++0|| *pf*11%256<=32)”来实现,如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前字符乘以11的结果再去与256求余数,处理完毕后,指针去取下一个字符。如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。
转载请注明原文地址:https://www.kaotiyun.com/show/5RYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
Oracle针对Internet/Intranet的产品是
下列关于文件索引结构的叙述中,哪一个是不正确的?
在计算机上,高级语言程序一般称为【】,不能直接执行,必须将他们翻译成具体机器的机器语言程序才能执行,这种机器语言程序又称为目标程序。
对于学生信息表:student(sno,sname,sex,age,dept),如果把学生“张明”的姓名改为“张岩”,则正确的语句是
关系数据库管理系统RDBMS的层次结构中,自上而下为:应用层、语言翻译处理层、数据存取层和数据【】层。
在SYBASE数据库产品中提供面向对象的数据库建模工具的是
文件的逻辑块号到物理块号的变换是由下列哪一项决定的?
霍夫曼算法可以用于
在数据库技术中,实体一联系模型是一种
关系模型是数据库系统最常用的一种数据模型。下列关于关系模型的说法,错误的是()
随机试题
艾滋病的病原体是
脘腹痞胀,水声辘辘,泛吐清水此属()
甲公司的主营业务收入为210亿元,主营业务成本为182.50亿元,年初存货为60亿元,年末存货为10亿元,其存货周转天数是()天。
二氧化硫的治理工艺划分为()。
一般的管理方法不包括( )。
焊工贾某、王某在市职业大学教学楼工地负责焊接一个4.5m×2m×1.5m的水箱。两人在当天完成了4/5的工作量,下班后为了赶进度、抢工期,工地负责人又临时安排了一名油工加班施工,将水箱焊好的部分刷上了防锈漆。因箱顶离屋顶仅有50cm高的间隔,通风不良,到第
假设某一产品的需求价格弹性大于1,那么价格升高1%会使得需求数量
()指证券登记结算机构依法设立的用于垫付或弥补因违约交收、技术故障、操作失误、不可抗力等造成的证券登记结算机构的损失的一种基金。
1974年罗夫曼提出的社区社会工作的三大模式是( )。
如果加载一个窗体,先被触发的事件是
最新回复
(
0
)