首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行
admin
2009-02-15
60
问题
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后把结果xx输出到文件OUT6.DAT中。
例如:原文:You He Me
I am a student.
结果:Me He You
student a am I
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
【函数】
#include<string.h>
#include<conio.h>
#include<ctype.h>
#include<stdio.h>
char xx[50] [80];
int maxline=0; /*文章的总行数*/
int ReaaDat(void);
void WriteDat(void);
void StrOL(void)
{
char * p1, * p2,t[80];
int i;
for(i=0;i<maxline;i++)
{ p1=xx
;t[0]=0;
while(*p1)p1++;
while(p1>=xx
)
{ while(!isalpha(*p1) &&p1!=xx
)p1--;
p2=p1;
while((1))p1--;
if(p1==xx
)
if(isalpha(*p1))p1--;
else if(!isalpha(*(p1+1)))break;
p2++;
(2);
strcat(t, p1+1);
strcat(t," ");
}
strcpy(xx
,t);
}
}
void main( )
{
if((3)) {
printf("数据文件in.dat不能打开!\n\007" );
return;
}
StroL();
writeDat();
getch();
} int ReadDat(void)
{
FILE * fp;
int i =0;
char * p;
if((fp=fopen("e:\a\in.dat"," r" ))==NULL)return 1;
while(fgets(xx
,80,fp)!=NULL) {
p=strchr(xx
,’\n’)
if(p)*p=0;
i++;
}
maxline=(4)
fclose(fp);
return 0;
}
void WriteDat(void)
{
FILE * fp;
int i;
fp=fopen("e:\\a\\out6,dat","w");
for(i=0;i<(5);i++){
printf("%s\n",xx
);
fprintf(fp,"%s\n",xx
)
}
fclose(fp)
}
选项
答案
(1)isalpha(* p1)&&p1!=xx[i] (2) * p2=0 (3) ReadDat() (4)i (5)maxline
解析
在主函数中首先调用函数ReadDat(),从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,所以(3)空应填入“ReadDat ()”。用变量maxline表示文章的行数,所以空(4)应填入“i”。
函数StrOL()的功能是以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排,然后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,采用的算法是先让两字符指针都指向串尾,然后使一指针(p1)往前移动,当出现不是字母时,则表示在p1+ 1与P2之间是一个单词,并将该单词存入一变量(t1),最后将t1连接到新串中(t);接着再往前找第二个单词,依次类推直到字符串头。br循环中的第一个while循环将字符指针移到串尾,在第二个while循环中,首先要去掉不是字母的字符,将p2也指向串尾,然后向前找一个单词及P1所指向的应为字母,且要保证仍然在本行,所以(1)空可填入“ isalPha (*p1)&&p1!=xx
”(或等价形式),这样p1+1与p2之间是一个单词,要作字符串处理,P2加1,指向字符串结束标记,所以(2)空应填入“*p2==’\0’”或者“*p2=0”。
最后通过调用函数WriteDat()把结果n输出到文件中,(5)空为输入的行数,显然应填入“maxline”。
转载请注明原文地址:https://kaotiyun.com/show/iEjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel中,若A1单元格的值为5,在B1单元格输入函数“=A1-10”,则B1单元格的值为______。
PC各部件的工作电压大多在-12V~+12V,并且是直流电,而日常照明所用的却是220V交流电,为此,PC内需要有__________为电脑部件如主板、驱动器、显卡等供电。
社会问卷调查是一种常见的调查方法。设计问卷的注意事项中不包括(31)。
计算机处理的数字数据有数值数据和字符数据之分。对信息处理技术员来说,它们的主要区别是______。
在调查某地区各类用户所喜欢的电视栏目时,信息处理技术员小王制作了用户类(U)与电视栏目(V)关系图。下面的示意图描述了五类用户(从上到下U1~U5)与四个电视栏目(从上到下V1~V4)之间的关系:如果某类用户大多喜欢某个电视栏目,则在它们之间画一条连线。从
在信息收集过程中,需要根据项目的目标把握数据(7)________________要求,既不要纳入过多无关的数据,也不要短缺主要的数据;既不要过于简化,也不要过于烦琐。
下列快捷功能按钮中,可以在画好的图形内填充颜色的是(49)。
要使Word能自动提醒英文单词的字母拼写是否正确,应设置Word的(47)选项功能。
随机试题
颅后窝病变发生脑疝者,最有效的紧急处理措施是
A.玻璃注射器采样B.铝塑夹层袋采样C.多孔板吸收管采样D.活性炭固体吸附剂采样E.无泵型气体采样器适用于采集挥发性较大的有机化合物采样的是
与Tc细胞活化、增殖、分化有直接关系的是( )
施工生产作业区与建筑物之间的防火安全距离,应遵守下列规定()。
基金客户服务方式包括()
用含32P的磷酸盐培养液培养动物细胞,一段时间后,细胞的结构以及化合物中可能具有放射性的是()。①脱氧核糖②核膜③ATP④脂肪⑤转运RNA
这样的活动乐于使广大农民群众接受。
2013年全年完成邮电业务总量16679亿元,比上年增长11.1%。其中,邮政业务总量2725亿元,增长33.8%;电信业务总量13954亿元,增长7.5%。邮政业全年完成邮政函件业务63.20亿件,包裹业务0.69亿件,快递业务量91.9亿件;快递业务收
Healways【C1】______earlytoenjoyatleasttwohoursofsolitudeinthehouseandgardenbeforethe【C2】______ofthefamilycame
Peopletendtobemoreimpressedbyevidencethatseemstoconfirmsomerelationship.Thusmanyare【B1】______theirdreamsarepr
最新回复
(
0
)