首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件ENG4.1N中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果x
函数ReadDat()的功能是实现从文件ENG4.1N中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果x
admin
2009-02-15
82
问题
函数ReadDat()的功能是实现从文件ENG4.1N中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果xx输出到之件PS4.DAT中。
替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或大于130,则该字符不变,否则将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("数据文件ENG4.IN不能打开! \n\007");
return;
}
encryptChar();
WriteDat ( );
}
int ReadDat (void)
{
FILE *fp;
int i = 0;
unsigned char *p;
if((fp = fopen("ENG4.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("PS4.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指向各行的首地址*/ while(*pf!=0) { if(*pf*11%256>130 || *pf*11%256<=32) /*如果计算后的值小于等于32或大于130*/ /*则该字符不变*/ else *pf=*pf*11%256; /*否则将所对应的字符进行替代*/ pf++; /*指针pf指向下一个字符*/ } } }
解析
本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行,当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它进行条件判断。根据题意,条件用“if(*pf*11%256>130||*pf*11%256<=32)”语句来实现,如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前的字符乘以11的结果再去与256求余数。处理完毕后,指针去取下一个字符。如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。
转载请注明原文地址:https://kaotiyun.com/show/wWfZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
入侵防护系统主要分为()防护系统、()防护系统和应用入侵防护系统。
第二层交换机()路由功能,第三层交换机()路由功能。
传统以太网的物理层标准的命名方法是:IEEE802.3xType-yName其中()。
下列选项中,不是目前使用的综合布线系统标准的是()。
网桥存在着两个问题是帧转发速率低与______。
为了避免IP地址的浪费,需要对IP地址中的主机号部分进行再次划分,再次划分后的IP地址的网络号部分和主机号部分采用哪种方式来加以区分()。
阅读以下说明,回答问题。说明:某小公司的网络拓扑如图13-11所示。其中路由器具有ISDN模块,公司网络通过ISDN连接到ISP。1)在应用服务器关机的情况下,公司员工能连接上Internet吗?简要解释。(2)在路由器和ISDN之间需要加入
某企业产品部的IP地址块为211.168.15.192/26,市场部的为211.168.15.160/27,财务部的为211.168.15.128/27,这三个地址块经聚合后的地址为______。A)211.168.15.0/25B)211.168
在缓解和解决IP地址耗尽问题的措施中,_____可以把大的网络分成小的子网,_____可以实现本地地址和外部地址的转换。例如把子网掩码为255.255.0.0的网络61.31.0.0分为两个子网,假设第一个子网为61.31.0.0/17,则第二
A、 B、 C、 D、 B虚拟局域网VLAN只能将在同一个物理网络上的主机进行逻辑分组,具有隔离广播域的功能,而且可以限制网上计算机互相访问的权限,路由器、三层交换机和带三层模块的网络互联设备均可以支持不同V
随机试题
2010年1月1日,乙公司为其100名中层以上管理人员每人授予100份现金股票增值权,这些人员从2010年1月1日起必须在该公司连续服务3年,即可自2012年12月31日起根据股价的增长幅度获得现金,该增值权应在2014年12月31日之前行使完毕。乙公司估
哮病中痰哮治法为:表寒里饮之寒哮治宜:
慢性肾小球肾炎晚期的主要病理变化是
下列有关新斯的明的描述,哪一项是错误的
甲享有一项发明,甲与乙签订了该专利申请权的转让合同。合同签订后,乙支付了部分转让费。因乙最后未能取得专利权而发生纠纷。下列表述正确的有:
公路水运检测机构及评价周期内持证的检测人员的信用评价基准分为100分。()
我国《上市公司收购管理办法》规定,通过证券交易所的证券交易,收购人持有一个上市公司的股份达到该公司已发行股份的()时,继续增持股份的,应当采取要约方式进行。
根据票据法律制度的规定,下列各项中,属于票据行为的有()。
Ifsabravemanwhoclaims"geniusinsciencehasbecomeextinct".Butthat’sexactlywhatpsychologistDeanKeithSimontondecl
InnocountryotherthanEngland,ithasbeensaid,onecanexperiencefourseasonsinasingleday!Daymaybreakasanicespr
最新回复
(
0
)