第8章-文本信息处理程序设计-1.pptVIP

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章-文本信息处理程序设计-1.ppt

4. strcmp函数----字符串比较函数 ”A””B” ”a””A” ”computer””compare” ”these””that” ”1A””$20” ”CHINA””CANADA” ”DOG””cat” ”Tsinghua””TSINGHUA” 8.3 对字符串的操作(续) 4. strcmp函数----字符串比较函数 比较的结果由函数值带回 如果字符串1=字符串2,则函数值为0 如果字符串1字符串2,则函数值为一个正整数 如果字符串1字符串2,则函数值为一个负整数 8.3 对字符串的操作(续) 4. strcmp函数----字符串比较函数 if(str1str2) printf(”yes”); 错误 if(strcmp(str1,str2)0) printf(”yes”); 正确 8.3 对字符串的操作(续) 5. strlen函数----测字符串长度的函数 其一般形式为: strlen (字符数组) 它是测试字符串长度的函数 函数的值为字符串中的实际长度 8.3 对字符串的操作(续) 5. strlen函数----测字符串长度的函数 char str[10]=”China”; printf(”%d”,strlen(str)); 输出结果是5 也可以直接测试字符串常量的长度 strlen(”China”); 8.3 对字符串的操作(续) 6. strlwr函数----转换为小写的函数 其一般形式为 strlwr (字符串) 函数的作用是将字符串中大写字母换成小写字母 8.3 对字符串的操作(续) 7. strupr函数----转换为大写的函数 其一般形式为 strupr (字符串) 函数的作用是将字符串中小写字母换成大写字母 8.3 对字符串的操作(续) 例4 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 解题思路:问题的关键是怎样确定“出现一个新单词了” 从第1个字符开始逐个字符进行检查,判断此字符是否是新单词的开头,如果是,就使变量num的值加1,最后得到的num的值就是单词总数 8.4字符数组应用举例 判断是否出现新单词,可以由是否有空格出现来决定(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内) 如果测出某一个字符为非空格,而它的前面的字符是空格,则表示“新的单词开始了”,此时使num累加1 如果当前字符为非空格而其前面的字符也是非空格,则num不应再累加1 8.4字符数组应用举例 用变量word作为判别当前是否开始了一个新单词的标志,若word=0表示未出现新单词,如出现了新单词,就把word置成1 前面一个字符是否空格可以从word的值看出来,若word等于0,则表示前一个字符是空格;如果word等于1,意味着前一个字符为非空格 8.4字符数组应用举例 Y c=空格 word=0 N word=0 Y word=1 num++ N if(c== ) word=0; else if(word==0) { word=1; num++; } 当前字符 I a m a b o y . 是否空格 否 是 否 否 是 否 是 否 否 否 否 word原值 0 1 0 1 1 0 1 0 1 1 1 新单词开始否 是 否 是 否 否 是 否 是 否 否 否 word新值 1 0 1 1 0 1 0 1 1 1 1 num值 1 1 2 2 2 3 3 4 4 4 4 …… char string[81],c; int i,num=0,word=0; gets(string); for (i=0;(c=string[i])!=‘\0’;i++) if(c==‘ ’) word=0; else if(word==0) { word=1; num++; } printf(“%d words\n”,num); …… 一定要设初始值 …… char string[81],c; int i,num=0,word=0; gets(string); for (i=0;(c=string[i])!=‘\0’;i++) if(c==‘ ’) word=0

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档