网站大量收购闲置独家精品文档,联系QQ:2885784924

利用数组处理批量数据.ppt

  1. 1、本文档共105页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用数组处理批量数据汇编

* 例6.8 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 解题思路:问题的关键是怎样确定“出现一个新单词了” 从第1个字符开始逐个字符进行检查,判断此字符是否是新单词的开头,如果是,就使变量num的值加1,最后得到的num的值就是单词总数 6.3.7 字符数组应用举例 * 判断是否出现新单词,可以由是否有空格出现来决定(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内) 如果测出某一个字符为非空格,而它的前面的字符是空格,则表示“新的单词开始了”,此时使num累加1 如果当前字符为非空格而其前面的字符也是非空格,则num不应再累加1 * 用变量word作为判别当前是否开始了一个新单词的标志,若word=0表示未出现新单词,如出现了新单词,就把word置成1 前面一个字符是否空格可以从word的值看出来,若word等于0,则表示前一个字符是空格;如果word等于1,意味着前一个字符为非空格 * Y c=空格 word=0 N word=0 Y word=1 num++ N if(c== ) word=0; else if(word==0) { word=1; num++; } * 当前字符=空格 是 否 未出现新单词,使word=0,num不累加 前一字符为空格(word==0),新单词出现, word=1,num加1 前一字符为非空格(word==1),未出现新单词,num不变 否 0 是 1 1 是 1 未 0 1 否 0 是 1 2 否 1 未 1 2 是 1 未 0 2 否 0 是 1 3 是 1 未 0 3 否 0 是 1 4 否 1 未 1 4 否 1 未 1 4 否 1 未 1 4 例 输入:I ?am ?a ?boy. 当前字符 是否空格 word原值 新单词开始否 word新值 num值 ? ? ? I a m a b o y . * 输入一字符串给 string i=0 num=0 word=0 当((c=string[i])!=‘\0’)只要不是结束符就执行循环 C等于空格? 真 真 假 假 word=0 word=1 num=num+1 i=i+1 输出:num word==0 * …… 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; else if(word==0) { word=1; num++; } printf(“%d words\n”,num); …… 相当于 c=string[i]; c!=‘\0’ * 例6.9 有3个字符串,要求找出其中最大者。 解题思路:设一个二维的字符数组str,大小为3×10。每一行存放一个字符串 char str[3][10]; * for (i=0;i3;i++) gets (str[i]); C h i n a \0 \0 \0 \0 \0 str[0] J a p a n \0 \0 \0 \0 \0 str[1] I n d i a \0 \0 \0 \0 \0 str[2] 可以把str[0],str[1],str[2]看作3个一维字符数组,可以把它们如同一维数组那样进行处理 * 经过三次两两比较,就可得到值最大者,把它放在一维字符数组string中 if (strcmp(str[0],str[1])0) strcpy(string,str[0]); else strcpy(string,str[1]); if (strcmp(str

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档