孙刚-C语言程序设计 第8章3.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.4 字符数组 8.4.3 二维字符数组 定义二维字符数组的语法格式如下: char 数组名[常量表达式1][常量表达式2]; 【例8.13】输出一个钻石图形。 #include stdio.h void main() { char diamond[][5]={{ , ,*}, { ,*, ,*}, {*, , , ,*} , { ,*, ,*}, { , ,*}}; int i,j; for (i=0;i5;i++) { for(j=0;j5;j++) printf(%c,diamond[i][j]); printf(\n); } } 8.3 字符数组 一维字符数组只能存放一个字符串,如果要存放多个字符串,则需要使用二维字符数组存放字符串,每一行存放一个字符串。例如,定义一个二维字符数组,代码如下: char a[3][6]={ study,work,life}; char b[ ][6]={ s1,st2,str3}; char a[3][10]={ study,work,life}; for (i=0;i3;i++) /*输出第i行字符串*/ printf(%s \n,a[i]); for (i=0;i3;i++)/*输出第i行第i列字符*/ printf(%c\n,a[i][i]); 输出结果如下: study work life s o f 一个二维字符数组的初始化代码如下: char month[][3]={{‘S’,’U’,’N’},{‘M’,’O’,’N’},{‘T’,’U’,’E’}, {‘W’,’E’,’D’},{‘T’,’H’,’U’},{‘F’,’R’,’I’},{‘S’,’A’,’T’}}; 或者: char month[][3]={{“SUN”},{“MON”},{“TUE”}, {“WED”},{“THU”},{“FRI”},{“SAT”}}; month是二维字符数组名,month的两种逻辑状态如图8.15所示。 8.4.4 字符数组应用举例 8.5 数组应用举例 【例8.18】约瑟夫环问题 约瑟夫(josephus)环:有n个人围成一个环,假如从第一个人开始报数,报数为m的人离开,问最后留下的是第几个人?例如,n=6,m=2,则依次出列的人的编号是:2,4,6,3,1,最后留下的人的编号为5。 8.5 数组应用举例 #include stdio.h #define n 6 void main() { int m=2,i,j,k; int Child[n],winner; for(i=0;in;i++) /*将每个人的编号存放在数组中*/ Child[i]=i+1; i=-1,j=0,k=0; /*k代表离开的人数*/ while(1) { for(j=0;jm;) /*在圈中数m个小孩*/ { i=(i+1)%n; 8.5 数组应用举例 if(Child[i]!=-1) /*小孩在环中则数数有效*/ j++; } if(k==n-1) break; printf(%4d,Child[i]); /*输出出列人的编号*/ Child[i]=-1; /*将离开的人标记为-1 */ k=k+1; /*离开人的个数加1 */ } winner=Child[i]; printf(\n最后剩下的人的编号:%d\n,winner); } 8.5 数组应用举例 【实例二】矩阵转置 编写一个程序,将一个矩阵转置。例如,有一个3×4的矩阵,经过转置后得到一个4×3的矩阵。矩阵的转置如图8.21所示。 8.5 数组应用举例 矩阵的转置:就是将矩阵中每个元素的行下标和列下标互换,并将该元素放在对应下标的位置,就得到了相应的转置矩阵。一个n×m的矩阵,经过转置后,得到的是一个m×n的矩阵。例如,元素12的行下标分别是2和1,则经过转置后元素12就应该在第2行第1列;元素24的行下标分别是2和4,则经过转置后,元素24就应该在第4行和第2列。 8.

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档