第四章-数----组--C语言课件.pptVIP

  • 0
  • 0
  • 约1.31万字
  • 约 46页
  • 2019-05-19 发布于江苏
  • 举报
第四章 数 组 数组必须先说明后使用。说明的目的如下: 4.2 一维数组 ⒉一维数组的初始化 ⒊数组的引用 ⒋举例 4.2 多 维 数 组 ⒈多维数组的说明 ⒊多维数组赋初值 ⒋数组元素的引用 4.4 字 符 数 组与字符串 二维数组赋初值 ⒊字符数组的输入输出 ⑴gets( )字符串输入函数 字符输入输出举例 ⒋常用的字符处理函数 ⑵字符串连接函数strcat(str1, str2) ⑷字符串的比较 strcmp(str1,str2) ⑸strlwr(str)将str中的大写字母转换成小写字母。 举例:统计三行文字中大写字母、小写字母及数字的个数。 数组的常用算法 ⒈求极值及其位置 ⑵二维数组求极值 ⒉ 排 序 冒泡排序程序如下: 思考题 ⑶选择排序 选择排序程序 ⒊ 查 找 标志设置框图 顺序查找程序 ⑵折半查找——适用于在有序数组中查找 折半查找程序 字符数组 ⑴统计字符串中的各元音字母的个数 ⑵字符的加密解密 程序如下: 数组与矩阵 矩阵的相关算法 ⑵生成三角阵 ⑶与下标相关矩阵 1 4 7 2 5 8 3 6 9 ⒉矩阵及元素求和 ⑵求两个矩阵之和 ⒊矩阵的转置运算 ⑵求方阵的转置阵 在一个有序的一维数组中查找某一个数。已知某数组按升序排 列,给定一个数,找出该数在数组中的位置。 可以通过将区间折半,快速缩小查找区间,提高效率! 折半查找算法演示 #include stdio.h void main(void) { int iTop,iBot,iMid,iS,iFlag,a[10]={1,2,3,5,6,8,9,10,11,12}; iFlag=0; iTop=0; iBot=9; scanf(“%d”,iS); do{ iMid=(iTop+iBot)/2; if(iS==a[iMid]) {iFlag=1; printf(“iS has be found : a[%d]”,iMid);} else if(iSa[iMid]) iBot=iMid-1; else iTop=iMid+1; }while(iTop=iBotiFlag==0); if(iFlag==0) printf(“Not found!\n”); } 初始化查找标志及顶、底。 查找循环 折半。 找到。 没找到,调整iTop或iBot chp4ex8 #include stdio.h void main(void) { char str[80],ch[6]={‘a’,’e’,’i’,’o’,’u’,’\0’}; int i,iCount[5]={0,0,0,0,0}; gets(str); for(i=0;str[i]!=‘\0’;i++) { switch(str[i]) { case ‘a’: case ‘A’: iCount[0]++;break; case ‘e’: case ‘E’: iCount[1]++;break; case ‘i’ : case ‘ I’: iCount[2]++;break; case ‘o’: case ‘O’: iCount[3]++;break; case ‘u’: case ‘U’: iCount[4]++; } } for(i=0;i5;i++) printf(“Num of %c :%5d”,ch[i],iCount[i]); } 循环遍历数组元素 判断字母。 chp4ex9 判断字符串是否结束的方法。 istrlen(str) 将字符串中的字母加密,密钥为循环平移两个字母。如A加密 成C...,Z加密成B。 如:I am a student. Zip 230009 加密后: K co c uvwfgpw. Bkr 230009 加密算法可以描述为: 如果str[i]是字母 循环平移两个字符; 以大写字母为例,循环平移两个字符的加密算法: str[i]=(str[i]-

文档评论(0)

1亿VIP精品文档

相关文档