C 程序设计简明教程雷新贤 c05.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文档。上传文档
查看更多
第5章 程序设计入门 5.1 数组引例 5.2 一维数组 5.3 二维数组 5.4 字符数组 5.5 数组应用案例 5.6 自主学习 5.1 数组引例 【例5.2】 用数组的方式读入5个整数,并求和 #include stdio.h void main() { int i,data[5],sum=0; printf(Please enter 5 integer:); for(i=0;i5;i++) scanf(%d,data[i]); for(i=0;i5;i++) sum=sum+data[i]; printf(sum is %d\n,sum); } 【例5.3】 定义数组a存放前100个自然数, 并求下标满足被3或5整除的数组元素和。 #include stdio.h void main() { int j,a[100],sum=0,c=0; for(j=0;j100;j++) a[j]=j+1; //存放100个自然数 for(j=0;j100;j++) if(j%3==0||j%5==0) // 满足下标条件的求和 {sum=sum+a[j]; c++;} printf(sum = %d,c=%d\n,sum,c); } 【例5.5】 猜数游戏:让计算机随机产生0到9之间的5个数, 用户从键盘输入1个数,程序判断是否为5个随机数中的某一个。 #includestdio.h #includestdlib.h // rand()所需头文件 void main( ) { int a[5],x,j; for(j=0; j5; j++) a[j]=rand()%10; //rand()产生1个随机整数,除以10取余后结果为0~9 printf(请输入你猜的数:); scanf(%d,x); printf(5个随机数为:); for(j=0; j5; j++) printf(%2d,,a[j]); for(j=0; j5; j++) if(a[j]==x) { printf(\n猜对了!\n); break;} if(j==5) printf(\n猜错了!\n); } 【例5.8】用选择法对数组s从小到大排序。 选择法基本思想: 假设有n个数据要排序,每次选出1个满足条件的,经过n-1次就 选好了n-1个数据,而剩下的最后一个数自然排好了; 所以n个数排序共需要n-1步。 #include stdio.h #define N 9 void main( ) { int s[N]={7,5,3,4,2,6,1,9,8},j,k,m; for(j=0;jN-1;j++) // 控制排序总步骤为n-1步 for(k=j+1;kN;k++) // 把s[j]~s[n-1]间的最小数交换到s[j]处 if (s[j]s[k]) { m=s[j]; s[j]=s[k]; s[k]=m; } printf(排序后的数据:\n); for(j=0;jN;j++) printf(%3d,s[j]); putchar(‘\n’); } 详细分析见 教材P74 5.3 二维数组 5.3.2. 二维数组的初始化 【例5.9】程序功能是利用下标产生各元素 并输出该数组及下三角元素。 #include stdio.h void main() { int a[5][5]; int i,j,max; for(i=0;i5;i++) //i控制行 for(j=0;j5;j++) //j控制列 a[i][j]=i*10+j; for(i=0;i5;i++) { printf(\n); for(j=0;j5;j++) printf(%3d,a[i][j]); } printf(\n输出下三角元素); for(i=0;i5;i++) { printf(\n); for(j=0;j=i;j++) //注意下标变化范围 printf(%3d,a[i][j]); //主对角线元素行列下标相等 } printf(\n); } 【例5

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档