首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行
admin
2009-02-15
68
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
下面不属于软件开发过程的是______。
下列选项中,不属于信息处理基本要求的是(22)。
根据某机构的统计与推测,我国人口中男性和女性各个年龄段的百分比如下图。根据该图,以下叙述中正确的是________________。
为在Excel2010的A1单元格中生成一个60到100之间的随机数,则应在A1单元格中输入________________。
在Excel2010中,设A1单元格中的值为20,A2单元格中的值为60,若在C1单元格中输入函数“=AVERAGE(A1,A2)”,按回车键后,,则C1单元格中的值为(
在Excel2010中,设单元格A1、B1、C1、A2、B2、C2中的值分别为1、2、3、4、5、6,若在单元格D1中输入函数“=MAX(A1:A2,B1:C2)”,按回车键后,则D1单元格中的值为(
以下关于Word2010图形和图片的叙述中,不正确的是()。
在Windows7中,若删除桌面上某个应用程序的快捷方式图标,则(31)。
删除Windows中某个应用程序的快捷方式,意味着(39)。
随机试题
天然气中甲烷经蒸汽转化和部分氧化可制成全成气(CO+H2),用它可生产()和合成气等系列产品。
患者,女性,51岁。既往体健。发热、咳嗽伴呼吸困难3天入院。入院后第2天出现病情加重,呼吸急促,伴烦躁,血压80/40mmHg,呼吸38次/分,心率110次/分,律齐,两肺可闻及少许湿啰音。血气分析(FiO250%):pH7.34,PaO250mmH
此患X线检查最可能的变化是该患病程中出现呼吸困难,发绀等缺氧表现,其发生机制主要为
方某产生劫机外逃的念头,并邀赵某一同行动。为劫机,方某购买一支催泪枪,并指使赵某买来两把尖刀。为了逃避安全检查,方某将催泪枪分解伪装,进行两次登机试验,均获成功。方某与赵某商定乘长春至厦门的班机,将飞机劫持到台湾,并商定具体的行动方案。而后,方某出资让赵某
下列各项不属于上市公司经理的职权的是()。
证券投资基金反映的经济关系与股票相同,都是所有权关系。()
正确的班级舆论对每个成员都具有约束、感染、同化与激励作用。()
根据图表回答下列问题。2008年1—2月各行业城镇投资额与2009年1—2月各行业城镇投资额比重均排名前四的行业有()个。
y=,则y’=________.
Institutionsofhigherlearningmustmove,asthehistorianWalterRussellMeadputsit,fromamodelof"timeserved"toamode
最新回复
(
0
)