首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN100.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CharConvA(),该函数的功能是:以行为单位把字符串的最后一个字符ASCII值右移4位后加最后第二个字符的ASCII值,得到最后一个新的字符
函数ReadDat()的功能是实现从文件IN100.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CharConvA(),该函数的功能是:以行为单位把字符串的最后一个字符ASCII值右移4位后加最后第二个字符的ASCII值,得到最后一个新的字符
admin
2010-01-11
72
问题
函数ReadDat()的功能是实现从文件IN100.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CharConvA(),该函数的功能是:以行为单位把字符串的最后一个字符ASCII值右移4位后加最后第二个字符的ASCII值,得到最后一个新的字符,最后第二个字符的ASCII值右移4位后加最后第三个字符的ASCII值,得到最后第二个新的字符,以此类推一直处理到第二个字符,第一个字符的ASCII值加最后一个字符的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上,把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT100.DAT中。
注意;部分源程序已给出。
原始文件存放的格式是:每行的宽度小于80个字符,含标点符号和空格。
请勿改动主函数main()、读函数ReadDat()和写函数Wnh2Dat()的内容。
试题程序:
#include<stdio.h>
#include<string.h>
#include<conio.h>
char xx[50][80];
int maxline=0;
int ReadDat();
void WriteDat();
void CharConvA(void)
{
}
void main()
{
clrscr();
if (ReadDat())
{
printf("数据文件IN100.DAT不能打开!\n\007");
return;
}
CharConvA( )
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
char *P;
if((fp=fopen("IN100.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()
{
FILE *fp;
int i;
clrscr();
fp=fopen("OUT100.DAT","w");
for(i=0;i<maxline;i++)
{
printf("%s\n",xx
);
fprintf(fp,"%s\n",xx
);
}
fclose(fp);
}
选项
答案
void CharConvA(void) { int i,j,k,str; char ch; for(i=0;i<maxline;i++) { str=strlen(xx[i]); /*求出各行的总字符数*/ ch=xx[i][str-1]; /*将最后一个字符暂存入ch*/ for(j=str-1;j>0;j--) /*从最后一个字符开始,直到第二个字符*/ xx[i][j]=xx[i][j]>>4+xx[i][j-1]; /*当前字符ASCII值右移4位加前一个字符的ASCII值,得到新的当前字符*/ xx[i][0]+=ch; /第一个字符的ASCII值加最后一个字符的ASCII值,得到第一个新的字符*/ } }
解析
本题考查的知识点如下;
(1)字符变量的整数运算。
(2)使用循环实现对数组的访问。
因为是以行为处理单位,所以要先求得每一行中字符的个数。在C语言中,字符量可参与任何整数运算,实际参与运算的是字符的ASCII码。这里可以直接将字符右移4位后相加,即可得到所求结果。使用循环结构依次对字符进行处理,第一个字符要单独处理。
转载请注明原文地址:https://kaotiyun.com/show/jb5Z777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
关于早期局域网的描述中,错误的是()。
下列关于进程的叙述中,哪些是正确的?()
关于网络安全性等级的描述中,正确的是()。
某系统中,进程A正在使用打印机,同时又要申请绘图机;而进程B正在使用绘图机,同时又要申请打印机,在这种情况下()。
在资源记录中,类型“A”表示()。
下图所示为交叉路口发生死锁的情况。为了预防死锁,可以在路口使用交通红绿灯。那么,该方法使得死锁的哪一个必要条件不成立?()
在实现文件系统时,可采用“目录项分解法”加快文件目录检索速度。假设目录文件存放在磁盘上,每个盘块1024字节。文件控制块有64字节,其中文件名占8字节,文件控制块分解后,第一部分占有10字节(包括文件名和文件内部号),第二部分56字节(包括文件内部号和
当前Android操作系统应用广泛,它具有下列哪些特性?()
在网络协议的3要素中,定义用户数据与控制信息格式的是()。
J.Martin认为企业信息系统成功与否的最重要的因素是
随机试题
某一方法经反复测定所得出的结果很接近于真值,可用下列哪一名称表示
A.胃黏膜相关组织淋巴瘤B.鼻腔NK/T细胞淋巴瘤C.Burkitt淋巴瘤D.蕈样霉菌病E.弥漫大B细胞淋巴瘤可以不用放化疗就能治愈的淋巴瘤是
慢性支气管炎临床特点为
与完成呼吸功能关系密切的是
在福费廷业务中,银行买断票据,必须放弃对出口商所贴现款项的追索权。()(2012年上半年)
在党风廉政建设责任制中,对于组织处理类的责任追究最重的处理方式是免职。()
“安慰剂效应”是指让病人在不知情的情况下服用完全没有药效的假药,却能得到与真药相同甚至更好效果的现象。“安慰剂效应”得到了很多临床研究的支持。对这种现象的一种解释是:人对于未来的期待会改变大脑的生理状态,进而引起全身的生理变化。以下陈述都能支持上述解释,除
甲有个人财产30万元,死后未立遗嘱,甲的妻子乙和甲的哥哥丙仍在世。甲还有一女儿,15年前与丁结婚后不久即去世,未留有子女,丁在其妻子死后对甲乙仍然尽了主要赡养义务,问该遗产该如何继承?
这是表演艺术家李默然第一次演电影,相比起在话剧舞台上的__________,突然站在镜头前.李默然称“根本不会动了”。对比话剧舞台和电影艺术,李默然总结道,一个是需要__________,一个是需要收缩。填入划横线部分最恰当的一项是:
下列程序段的运行结果是()。#include<stdio.h>voidmain(){charstr[]="ABC",*p=str;printf("%d\n",*(
最新回复
(
0
)