[理学]b教案第07章.ppt

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

例7.14有一个3×4的矩阵,求所有元素中的最大值。 解此题的算法是:先使变量max的初值为矩阵中第一个元素的值,然后将矩阵中各个元素的值与max相比,每次比较后都把“大者”存放在max中,全部元素比较完后,max 的值就是所有元素的最大值。   程序如下: max_value(int array[ ][4]) { int i,j,max; max=array[0][0];   for(i=0;i<3;i++)  for(j=0;j<4;j++) if(array[i][j]>max) max=array[i][j];  return(max); } main() {int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; printf(max value is%d\n,max_value(a)); } 运行结果如下: max value is 34 * “a”“b”, “a”“A”,“computer”“compare”,“these”“that”,“36+54”“!#”,“china”“canada”. 如果参加比较的两个字符串都由英文字母组成,则有一个简单的规律:在英文字典中位置在后面的为“大”。 例如computer在字典中的位置在compare之后。但应注意小写字母比大写字母“大” ,所以“DOG”“cat”。比较的结果由函数值带回。 (1) 如果字符串1=字符串2,函数值为0。 (2) 如果字符串1字符串2,函数值为一正整数。 (3) 如果字符串1字符串2,函数值为一负整数。 注意:对两个字符串比较,不能用以下形式: if(Str1==Str2) printf(“yes); 而只能用 if(strcmp(Str1,Str2)==0)printf(“yes”); 6. strlen(字符数组) strlen是String Length(字符串长度)的缩写。它是测试字符串长度的函数。函数的值为字符串中的实际长度,不包括‘\0’在内。如: char str[10]={china}; printf(%d,strlen(str)); 输出结果不是10,也不是6,而是5。也可以直接测字符串常量的长度,如strlen(china); 7. strlwr(字符串) strlwr是String Lowercase (字符串小写)的缩写。函数的作用是将字符串中大写字母换成小写字母。 8. strupr(字符串) strupr是String uppercase (字符串大写)的缩写。函数的作用是将字符串中小写字母换成大写字母。 以上介绍了常用的8种字符串处理函数,应当再次强调:库函数并非c语言本身的组成部分,而是人们为使用方便而编写、提供大家使用的公共函数。每个系统提供的函数数量和函数名、函数功能都不尽相同,使用时要小心,必要时查一下库函数手册。当然,有一些基本的函数(包括函数名和函数功能),不同的系统所提供的是相同的,这就为程序的通用性提供了基础。 7.3.7 字符数组应用举例 例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 程序如下: #include stdio.h main() { char string[81]; int i,num=0,word=0; char c; gets(string); for (i=0;(c=string[i])!=\0;i++) if(c==) word=0; else if(word==0) { word=1; num++; } printf(There are %d words in the line.\n,num); } 运行情况如下:  I am a boy.  There are 4 words in the line. 程序中变量i作为循环变量,num用来统计单词个数,word作为判别是否单词的标志,若word=0表示未出现单词,如出现单词word就置成1。算法见图7.17所示。 图7.17 解题的思路是这样的:单词的数目可以由空格出现的次数决定(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内)。如果测出某一个字符为非空格,而它的前面的字符是空格,则表示“新的单词开始了” ,此时使num(单词数)累加1。如果当前字符为非空格而其前面的字符也是非空格,则意味着仍然是原来那个单词的继续,num不应再累加1。前面一

文档评论(0)

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

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

1亿VIP精品文档

相关文档