- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
补充 二维字符数组 Arrays 二维字符数组 例:输入若干个0到9之间的整数(以输入-1表示终止) 统计各整数的个数 ③任意输入一个数,插入到数组中,使之仍保持有序;关键点:插入时涉及到定位和数据向后挪位。 ④ 任意输入一个0到9之间的整数k,删除a[k]。 关键点:删除时涉及到向前挪位。 例:计算两个矩阵Aik(m行p列)、Bkj(p行n列)乘积。 Cij=∑aikbkj (i=0..m-1;k=0..p-1;j=0..n-1) 例 7-20 判断s1字符串中是否包含s2字符串如:china123包含na12,但不包含abc。 例: 任意输入一个3位整数,取其各位数字的和,再取这个和数被7除的余数,输出余数对应的星期(英文单词) 例:输入123,有(1+2+3)%7=6,则输出串“Saturday” 。 小 结 概念:基本类型、构造类型、数组 数组的定义、初始化、元素引用 数组的存储特点、数组名的含义 数组的操作特点(用循环变量表示下标) 二维数组 字符数组的定义、初始化(整体)、标准函数 特点:串结束标志、 串循环条件: s[i]!=‘\0’ istrlen(s) 程序 排序类(冒泡法、选择法) 综合类(插入法、矩阵操作、……) * * 二维字符数组的定义 与二维数值数组定义方法相同,只是数据类型为char 例:char a[2][5],b[3][7]; 即:数组a有2行5列,可以存放2个长度为4的字符串; 数组b有3行7列,可以存放3个长度为6的字符串。 二维字符数组的初始化 1、定义时初始化 char a[3][8]={str1,str2,string3}; \0 3 g n i r t s \0 2 r t s \0 1 r t s a[0] : a[1] : a[2] : a[0][0] char b[][6]={“s1“,st2,str3}; \0 3 r t s \0 2 t s \0 1 s b[0]: b[1]: b[2]: b[0][0] 二维字符数组的引用 用[i]引用i行的字符串,或用[i][j]引用i行j列的字符 例: for(i=0;i3;i++) printf(“%s\n”,a[i]); /*输出i行字符串*/ for(i=0;i3;i++) printf(“%c\n”,a[i][i]); /*输出i行i列字符*/ for(i=0;i3;i++) printf(%s\n,a[i][i+1]) /*输出i行i+1列字符开始的字符串*/ \0 3 g n i r t s \0 2 r t s \0 1 r t s a[0] : a[1] : a[2] : a[0][0] 选票: Liu Wang Wang Zhang Liu Cheng Wang Liu Liu Zhang cheng Cheng\0 Zhang\0 Wang\0 Liu\0 man[3] man[2] man[1] man[0] 候选者名字表: 0 0 0 0 b[3] b[2] b[1] b[0] 候选者得票数: ※读入所有候选者名字放到候选者名字表中,清其得票初始值为0※从第0个到第M-1个处理选票,递增1 ※读选票 ※查找该名字在候选者名字表中的下标号 ※若找到,将该标号对应的得票数加1,退出查找循环※输出所有候选者名字及得票数 2 2 3 4 例7-14 统计选票设候选人有 N人,参加投票的有 M人 #include stdio.h #include string.h main() {char k[10],s[N][10]; int b[N],i,j; for(i=0;iN;i++) {gets(s[i]);b[i]=0;} for(i=0;iM;i++) {gets(k); for(j=0;jN;j++) if (!(strcmp(s[j],k))) {b[j]++;break;} } for(i=0;iN;i++) printf(%s:%d,s[i],b[i]); } #define N 4 #define M 20 #include “stdio.h” #define N 10 main() {int a,b[10]={0}; scanf(“%d”,a); while (a!=-1) {b[a]++; scanf(“%d”,a); } for (i=0;in;i++) prin
原创力文档


文档评论(0)