- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【考点分析】 本题考查对字符串处理。考查的知识点主要包括:字符串元素的遍历访问, if判断结构,逻辑表达式。
【解题思路】 本题的解题思路是,首先确定该行字符串的长度;然后使用循环结构依次对字符进行处理;先找到字符o,将o右侧的字符依次向左移,这个操作同时能够删除字符o。记录下最后一个o所在的位置,在这个o右侧的所有字符都要移到已处理字符串的左边,这个过程也是使用循环来完成的。
【参考答案】
void StrOR(void)
{ int i,j,k; /*定义循环控制变量*/
int index,str; /*定义变量*/
char temp; /*暂存变量*/
for(i=0;imaxline;i++) /*逐行获取字符数据进行处理*/
{
str=strlen(xx[i]); /*求各行的长度*/
index=str;
for(j=0;jstr;j++) /*将一行中所以,,,,写字母o右边的字符依次向左移一位,并删除字母o*/
if(xx[i][j]==o)
{
for(k=j;kstr-1;k++)
xx[i][k]=xx[i][k+1];
xx[i][str-1]= ;
index=j; /*记录下最后一个o所在的位置*/
j = 0;
}
for(j=str-1;j=index;j--) /*最后一个o右侧的所有字符都移到已处理字符串的左边*/
{
temp=xx[i][str-1];
for(k=str-1;k0;k--)
xx[i][k]=xx[i][k-1];
xx[i][0]=temp;
}
}
}
【易错提示】 对字符数组进行逐元素访问;if判断结构中的逻辑表达式。
【考点分析】 本题考查对字符串处理。考查的知识点主要包括:字符串元素的遍历访问,if判断结构,逻辑表达式。
【解题思路】 分析题干要求,可以归纳出2个关键点:关键点1如何在字符串中提取出以空格或标点符号为分隔的单词;关键点2如何将提取出的单词倒序排列。
本题的解题思路是:先让两个字符指针都指向每一行字符的串尾,然后使其中一指针(p1)往前移动,当出现pl指向的不是字母时则表示在p1+1与p2之间是一个单词,将该单词存入字符数组t1中,最后将t1连接到新字符串t中;接着再往前找第2个单词,依次类推直到p1越过字符串的起始位置。
【参考答案】
void StrOL(void)
{
int i,j,k; /*定义数组下标变量*/
char t[80],t1[80]; /*定义数组暂存取得的单词*/
for(i=0;imaxline;i++) /*逐行获取字符串数据*/
{
j=k=strlen(xx[i])-1; /*将每行末尾字符的下标保存在j和k中*/
t[0]=t1[0]=\0; /*初始化两个字符数组*/
while(1) /*无条件循环,循环体内有结束循环的语句*/
{
while(isalpha(xx[i][j])==0j=0) /*若以j为下标的字符不是字母并且还在数组xx之内*/
k=--j;
while(isalpha(xx[i][j])j=0) /*若以j为下标的字符是字母并且还在数组xx之内*/
j--; /*当退出这个循环时,xx[i][j+1]和xx[i][k]分别是同一个单词的第一个和最后一个字母*/
memcpy(t1,xx[i][j+1],k-j); /*将该单词保存到字符数组t1*/
t1[k-j]=\0; /*为t1中的单词添加字符串结束标志*/
strcat(t,t1); /*将单词保存到数组t中*/
strcat(t, ); /*单词之间用空格分隔*/
您可能关注的文档
- 第6章 多性与虚函数.ppt
- 从C到C+.ppt
- 4.数据与算.ppt
- 2013下年系统集成项目管理工程师下午题答案.doc
- 第二讲、顺结构程序设计.ppt
- C++程序计习题2.doc
- 全国计算机级考试二级C语言真题2008年4月.doc
- 02第二讲atlab数据类型及矩阵运算.ppt
- wxm第4 最简单的c程序设计.ppt
- 第2章MC-51基本知识.ppt
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)