C语言程序设计PPT电子课件教案-05_用数组存储信息.ppt_第1页
C语言程序设计PPT电子课件教案-05_用数组存储信息.ppt_第2页
C语言程序设计PPT电子课件教案-05_用数组存储信息.ppt_第3页
C语言程序设计PPT电子课件教案-05_用数组存储信息.ppt_第4页
C语言程序设计PPT电子课件教案-05_用数组存储信息.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

lesson 5 用数组存储信息,5,本课内容,二维数组及应用,整型数组初始化,数组元素逆置,求数组极值、平均值,数组元素平移,一维数组8-1,2006.9.35若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是 a)#define n 10 b)#define n 5 int an; int a2*n; c)int a5+5; d)int n = 10, an;,2010.3.25下列能正确定义一维整型数组的语句是 a)int num02008; b)int num.1; c)int n = 2008; d)#define n 2008 int numn; int numn;,一维数组8-2,2010.9.27下列定义数组的语句中,正确的是 a)int n = 10; b)#define n 10 int xn; int xn; c)int x010; d)int x ;,2010.9.28要定义有5个元素的数组,错误的是 a)int i = 5, ai; b)int b5 = 0; c)int c = 0,0,0,0,0; d)int d2+3;,2008.9.21以下选项对m数组,引用错误的是 int m = 5,4,3,2,1, i = 4; a)mm0 b)m-i c)m2*2 d)mmi,一维数组8-3,2007.9.142010.9.92011.3.132011.9.9以下程序的运行结果是 int i, a5 = 0; for (i = 1; i = 4; i+) ai = ai-1 * 2 + 1; printf(“%d“, ai); ,13715,一维数组8-4,2005.4.23以下程序运行后,j的值是 int p8 = 11,12,13,14,15,16,17,18; int i = 0, j = 0; while (i+ 7) if (pi % 2) j += pi;,45,2007.4.14以下程序的运行结果是 int x6 = 1,2,3,4,5, a5, i; for (i = 0; i 5; i+) ai = xi + xi+1; printf(“%d“, ai); ,35795,一维数组8-5,2010.3.29以下程序运行后s的值是 int a5 = 1,2,3,4,5, i, s = 0; int b5 = 0,2,1,3; for (i = 0; i 5; i+) s = s + abi;,11,2008.4.31以下程序的运行结果是 int s12 = 1,2,3,4,4,3,2,1,1,1,2,3; int c5 = 0, i; for (i = 0; i 12; i+) csi+; for (i = 1; i 5; i+) printf(“%d“, ci);,4332,一维数组8-6,2010.9.132011.9.13以下程序运行结果是 int a2, i, j; for (i = 0; i 2; i+) ai = 0; for (i = 0; i 2; i+) for (j = 0; j 2; j+) aj = ai + 1; printf(“%d“, a1);,3,一维数组8-7,2009.9.29程序运行后a数组的内容是 int a = 2,3,4,5, i; for (i = 0; i 4; i+) switch (i % 2) case 0: switch (ai % 2) case 0: ai+; break; case 1: ai-; break; case 1: ai = 0; ,3050,2005.4.30以下叙述中错误的是 a)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 b)数组名代表的是数组所占存储区的首地址,其值不可改变 c)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界“的出错信息 d)可以通过赋初值的方式确定数组元素的个数,一维数组8-8,求数组相邻元素之和,2007.4.14求数组x中各相邻两个元素的和,依次存放到a数组中,并输出。 int x10, a9, i; for (i = 0; i 10; i+) scanf(“%d“, ,i = 1,xi-1,求平均分,填空实现程序的功能:计算a数组中10个学生的平均分,并输出。 int a10, i; _; for (i = 0; i 10; i+) scanf(“%d“, ,double s = 0,%f,输出低于平均分的成绩,填空实现程序的功能:输出数组中低于平均分的学生的成绩。 int a10, i; double s = _; for (i = 0; i 10; i+) scanf(“%d“, ,0,ai/10.0,二维数组,二维数组的定义,int a34 = 1,2,3,4,5,6,7,8,9,10, 11,12; 或 int a34 = 1,2,3,4,5,6,7,8, 9,10,11,12;,输出二维数组,for (i = 0; i 3; i+) for (k = 0; k 4; k+) printf(“%2d,“, aik); printf(“n“); ,1, 2, 3, 4,5, 6, 7, 8,9,10,11,12,输出:,二维数组定义3-1,2006.4.162011.9.26以下数组定义错误的是 a)int x 3 = 0; b)int x23 = 1,2,3,4,5,6; c)int x 3 = 1,2,3,4,5,6; d)int x23 = 1,2,3,4,5,6;,例以下数组定义中正确的是 a)int n = 5, x n = 0; b)int x3 = 1,2,3; c)int x 3 = 1,2,3,4,5,6; d)int x 3 = 1,2,3,4,5,6;,二维数组定义3-2,2008.4.24以下数组定义中错误的是 a)int x 3 = 0,1,1,2,3; b)int x 3 = 1,2,3,4,5,6; c)int x4 = 1,2,3,1,2,3, 1,2,3,1,2,3; d)int x 3 = 1,2,3,4;,2007.9.31若有定义语句:int a36; 按在内存中的存放顺序,a数组的第10个元素是 a)a04 b)a13 c)a03 d)a14,二维数组定义3-3,2008.4.26设有定义语句:int a23; double i = 1; 则以下选项对a数组元素正确引用的是 a)a2!1 b)aii c)a1.22.1 d)a12!1,2004.9.27以下能正确定义二维数组的是 a)int a 3; b)int a 3 = 2*3; c)int a 3 = ; d)int a23 = 1,2,3,4;,二维数组8-1,2006.4.8以下程序运行后,s的值是 int a33 = 1,2,9,3,4,8,5,6,7; int i, s = 0; for (i = 0; i 3; i+) s += aii + ai3-i-1;,30,2010.3.11以下程序的运行结果是 int a33 = 1,2,3,4,5,6,7,8,9; int b3, i; for (i = 0; i 3; i+) printf(“%d“, bi = ai2 + a2i);,101418,二维数组8-2,2011.9.28以下程序的运行结果是 #define n 4 int xnn = 1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16; int yn, i; for (i = 0; i n; i+) yi = xii - xin-1-i; for (i = 0; i n; i+) printf(“%d“, yi);,-3-113,二维数组8-3,2010.3.9以下程序的运行结果是 int i, j, a 3 = 1,2,3,4,5,6,7,8,9; for (i = 0; i 3; i+) for (j = i; j 3; j+) printf(“%d“, aij);,123569,2010.3.30以下程序运行后,t的值是 int a33 = 0,1,2,0,1,2,0,1,2, t = 1; for (i = 0; i 3; i+) for (j = 1; j = i; j+) t *= aiaji;,4,二维数组8-4,2008.9.35以下程序的运行结果是 int y4, i, x 4 = 1,2,3,4, 5,6,7,8,9,10; for (i = 0; i 4; i+) yi = xii; printf(“%d“, yi); ,1070,2006.4.34以下程序的运行结果是 int i, t 3 = 9,8,7,6,5,4,3,2,1; for (i = 0; i 3; i+) printf(“%d“, t2-ii);,357,二维数组8-5,2007.4.13设有以下定义语句: int a 3 = 0,1,2; 则数组元素a12的值为,0,2008.9.36以下程序的运行结果是 int a44 = 1,2,3,4,11,12,13,14, 21,22,23,24,31,32,33,34; int i, m = a00; for (i = 1; i m) m = aii; printf(“%d“, m);,34,二维数组8-6,2004.9.10以下程序运行后,s的值是 int a44 = 1,2,3,4,2,3,1,0, 5,7,4,2,3,9,1,7; int i = 0, j = 0, s = 0; while (i+ 4) if (i=2 | i=4) continue; j = 0; do s += aij; j+; while (j4); ,26,二维数组8-7,2008.9.12程序运行结果是 int a44, n = 0, i, j; for (j = 0; j = j; i-) n+; aij = n; for (i = 0; i 4; i+) for (j = 0; j = i; j+) printf(“%3d“, aij); printf(“n“); ,4 3 7 2 6 9 1 5 8 10,二维数组8-8,2007.4.35以下程序的运行结果是 int a44 = 1,4,3,2,8,6,5,7, 3,7,2,5,4,8,6,1, i, k, t; for (i = 0; i 3; i+) for (k = i+i; k 4; k+) if (aii akk) t = aii; aii = akk; akk = t; for (i = 0; i 4; i+) printf(“%d“, a0i);,6432,数组周边元素,求nn的二维数组周边元素的平均值。 #define n 4 int i, k, ann = 1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16; double s = 0; for (i = 0; i n; i+) for (k = 0; k n; k+) if (_) s += aik; printf(“%f“, s / (4*n-4);,i=0 | k=0 | i=n-1 | k=n-1,数组元素平移,0,1,2,3,4,t = a0;,0,1,2,3,4,0,a4 = t;,for (i = 1; i = 4; i+) ai-1 = ai;,数组元素平移,填空实现程序的功能:把一维数组中下标从0到m的数组元素平移到数组的最后。 int a5 = 1,3,5,7,9, i, k, t, m; scanf(“%d“, ,0,4,数组元素平移,2011.3.11已知a所指的数组中有n个元素。函数fun的功能是,将下标k(k0)开始的后续元素全部向前移动一个位置。请填空。 void fun(int an, int k) int i; for (i = k; i n; i+) a = ai; ,i - 1,fibonacci数列,a0 = 0, a1 = 1; for (i = 2; i 20; i+) ai = ai-1 + ai-2;,0,1,1,2,3,5,8,13,21,34,0,1,1,2,3,5,8,13,21,34,55,折半查找,折半查找2-1,i,k,m,v = 9;,m = (i + k) / 2;,m = 3,2,4,6,9,12,15,18,21,34,55,67,折半查找2-2,2,4,6,9,12,15,18,21,34,55,67,i,k,m,v = 19;,m = (i + k) / 2;,无此数据!,筛选法求素数,for (i = 2; i 100; i+) ai = i; for (i = 2; i 100; i+) if (ai != 0) printf(“%d,“, i); for (k = 2*i; k 100; k += i) ak = 0; ,2,3,4,5,6,7,8,9,10,11,12,杨辉三角,魔术方阵,17,1,8,15,24,23,7,14,16,5,4,13,20,22,6,10,19,21,3,12,11,25,2,9,18,数据分类统计,统计数组a中的各年龄段的人数。09岁的人数放在b0中,1019岁的人数放在b1中,以此类推,100岁及以上的放在b10中。 int a20, b11, i; for (i = 0; i =100 ? b10+ : b_+;,0,ai/10,数制转换,填空实现程序的功能:将十进制整数m转换成k进制(2 = k = 9)数的数字输出。例如,如果m = 8,k = 2,则应该输出1000。 int a20, i, m, k; scanf(“%d%d“, ,m % k,k,塔形方阵,螺旋方阵,把二维数组 a 各行之和分别放入 b 数组,各列之和分别放入 c 数组。,3,2,4,1,4,2,5,2,3,9,for (i = 0; i 3; i+) for (k = 0; k 4; k+) bi += aik, ck += aik;,求二维数组行列之和,3,1,5,6,7,8,3,5,选择法排序,0,1,2,3,4,6,5,3,8,4,6,5,8,6,3,4,6,5, m = i; for (k = i+1; k 5; k+) if (ak am) m = k; t = am, am = ai, ai = t; ,i = 0;,for (i = 0; i 4; i+),冒泡法排序,for (i = 0; i ak) t = ai, ai = ak, ak = t;,0,1,2,3,4,5,2,3,8,4,5,4,8,5,3,5,5,2,左边界,右边界,右边界+1,冒泡法排序,将a数组中n个整数,除第一个和最后一个整数外,将其余n-2个整数按降序排列。 int an = 6,3,7,4,2,5,9, i, k, t; for (i = _; i n-2; i+) for (k = i+1; k n-1; k+) if (ai _ ak) t = ai, ai = ak, ak = t; for (i = 0; i n; i+) printf(“%d,“, ai);,1,矩阵转置,矩阵转置,若输入10 20 30 则输出10 40 70 (即行列互换) 40 50 60 20 50 80 70 80 90 30 60 90 #define n 3 int i, k, t, ann = 10,20,30,40,50, 60,70,80,90; for (i = 0; i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论