首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN74.DAT中读取一篇英文文章存入到字符串数组XX中。请编制函数StrCharJL(),该函数的功能是:以行为单位把字符串中的所有字符的ASCⅡ值左移4位,如果左移后,其字符的ASCⅡ值小于等于32或大于100,
函数ReadDat()的功能是实现从文件IN74.DAT中读取一篇英文文章存入到字符串数组XX中。请编制函数StrCharJL(),该函数的功能是:以行为单位把字符串中的所有字符的ASCⅡ值左移4位,如果左移后,其字符的ASCⅡ值小于等于32或大于100,
admin
2010-01-09
62
问题
函数ReadDat()的功能是实现从文件IN74.DAT中读取一篇英文文章存入到字符串数组XX中。请编制函数StrCharJL(),该函数的功能是:以行为单位把字符串中的所有字符的ASCⅡ值左移4位,如果左移后,其字符的ASCⅡ值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCⅡ值再加-上原字符的ASCⅡ值,得到的新字符仍存入到原字符串对应的位置。最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WriteDat()把结果xx输出到文件OUT74.DAT中。
注意:部分源程序已给出。
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
#include<stdio.h>
#include<string.h>
#include<conio.h>
char xx[50][80];
int maxline=0;
int ReadDat(void);
void WriteDat(void);
void StrCharJL(void)
{
}
void main()
clrscr();
if(ReadDat())
{
printf ("数据文件 IN74.DAT 不能打开\n\007");
return;
}
StrCharJL();
WriteDat();
}
int ReadDat (void)
{
FILE *fp;
int i=0;
char *p;
if((fp=fopen("IN74.DAT","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;
clrscr();
fp=fopen("OUT74.DAT","w");
for(i=0;i<maxline;i++)
{
printf("%s\n",xx
);
fprintf(fp, "%s\n", xx
);
}
fclose(fp);
}
选项
答案
void StrCharJL(void) { int i, j,strl; for (i=0; i<maxline; i++) { strl=strlen {xx [i] ); /*求各行的总长度*/ for(j=0;j<strl;j++) if(xx[i] [j]<<4 <=32 || xx[i] [9]<<4 >100); /*如果左移4位后字符的ASCII值小于等于32或大于100,则原字符保持不变*/ else xx[i] [j]+=xx[i] [9]<<4; /*否则就把左移后的字符ASCII值加上原 字符ASCII*/ } }
解析
本题考查的知识点如下:
(1)字符的计算。
(2)左移运算符“<<”的使用。
(3)二维数组的访问。
(4)判断结构中多条件的布尔运算。
本题中,以行为单位处理字符串,首先要求得每行字符串的长度,才可对每一行的字符依次进行处理。字符可参与任何整数运算,实际上是字符的ASCII码参与了运算。所以,可以直接将字符带入计算。这里要使用到左移运算符“<<”。 “<<”是双目运算符,左侧是要移动的数,右侧是移动的位数。左移后字符的ASCII码的值小于等于32或大于100,这两个条件满足一个即可,所以两条件之间用“或”运算。使用循环实现对所有行的处理。
转载请注明原文地址:https://kaotiyun.com/show/hKYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
三层浏览器/服务器结构的数据库应用系统是由浏览器、应用服务器和【2】服务器三部分组成的。
设某超市经营管理系统使用SQLServer2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售
在SQLServer2008中,设有顾客表(顾客号,顾客名,所在地区,年龄),应用系统中需统计指定地区的顾客人数和平均年龄。请补全下列存储过程代码以完成该功能。CREATEPROCP_Count@areavarchar(20)ASSELE
SQLServer中根据索引的实现方式,索引技术可以分成有序索引和【1】两大类。
设某超市经营管理系统使用SQLServer2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售
某数据库应用系统中,数据库管理员发现某个查询功能是用多表连接操作实现的,此操作性能较差。在保证功能不变的前提下,若要提高该查询的执行效率,下列方法中可行的是()。
在SQLServer2008中,设U1是SQLServer身份验证模式的数据库服务器登录账户,现希望U1在该数据库服务器上具有系统管理员权限。请补全下列语句:EXECsp_addsrvrolemember′U1′,′【9】′
设用UML设计某数据库应用系统,设计人员规划了一组应用程序集,该集合由动态链接库和可执行程序构成。为了展现这些应用程序集间的组织和依赖关系,以对源代码、可执行程序的发布等进行系统建模,应采用的UML图是_________图。
在开发数据库应用系统时,使用存储过程可以提高数据访问效率,降低网络流量。下列关于存储过程的说法,错误的是()。
浏览器和Web站点在利用SSL协议进行安全数据传输过程中,最终的会话密钥是由 【】产生的。
随机试题
集中是指在_________中,感觉集中于大脑或领导部门,从大脑或领导部门发出命令,使组织的各部分运动。
在教育史上主张“不愤不启,不悱不发”的教育家是()
在成组病例对照研究中,对OR值的描述哪个是正确的
下列选项中,()才是咨询服务。
(二)背景资料某市政工程公司承建一道路工程,基层为180mm水泥稳定碎石,面层为沥青混凝土。项目经理亲自参加了技术准备会议,并强调:项目技术负责人作为工程质量的第一负责人,必须尽快主持编制项目质量计划,亲自做好技术交底工作。施工前项目技术负责人就工程特点、
某市政府依赵某申请,作出行政复议决定,撤销市房管局对赵某房屋的错误登记,并责令市房管局限期重新登记。市房管局拒不执行该行政复议决定,此时,赵某有权()。
根据《支付结算办法》的规定,下列各项中,属于无效票据的有( )。
中国旅游日的时间为每年的()。
中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是_______。
带256MB存储卡的数码相机拍摄分辨率设定为1 600×1 200(像素),颜色深度为24位,若不采用压缩存储技术,则最多可以存储(12)张照片。
最新回复
(
0
)