C程序设计:数 组

上传人:桔**** 文档编号:569728283 上传时间:2024-07-30 格式:PPT 页数:31 大小:945KB
返回 下载 相关 举报
C程序设计:数 组_第1页
第1页 / 共31页
C程序设计:数 组_第2页
第2页 / 共31页
C程序设计:数 组_第3页
第3页 / 共31页
C程序设计:数 组_第4页
第4页 / 共31页
C程序设计:数 组_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《C程序设计:数 组》由会员分享,可在线阅读,更多相关《C程序设计:数 组(31页珍藏版)》请在金锄头文库上搜索。

1、1请将您的手机铃声请将您的手机铃声设置为震动设置为震动2作业作业&实验教程:实验教程: 1.阅读程序阅读程序 (第第49页页) 2.程序改错程序改错 (第第49页页) 4.编写程序编写程序 (第第51页页)3v一维数组一维数组v二维数组二维数组v字符数组字符数组数数 组组一维数组一维数组二维数组二维数组4定义:定义:数据类型数据类型 数组名数组名常量表达式常量表达式; 合法标合法标识符识符数据元数据元素个数素个数下标运算符下标运算符(p276)例子:例子:int a4; char x2;一维数组一维数组int a4;xxxxxxxxa0a1a2a31000Ha1000H5#include st

2、dio.hvoid main( ) int i; for(i=0;i3;i+) scanf(%d,&ai); printf(%dn,ai); error C2065: a : undeclared identifierv一维数组的引用一维数组的引用数组必须先定义,后使用数组必须先定义,后使用6#include stdio.hvoid main() int i, a3, a=0; for(i=0;i3;i+) scanf(%d,&ai); a=a+ai; printf(%d,a);error C2040: a : int differs in levels of v一维数组的引用一维数组的引用数

3、组必须先定义,后使用数组必须先定义,后使用数组名不能与程序中的其它变量同名数组名不能与程序中的其它变量同名 7代表数据长度的常量表达式不能使用变量代表数据长度的常量表达式不能使用变量 数据元素的下标起始值为数据元素的下标起始值为0例例 printf(%d,a); ( )例例 int data5; data5=10; ( ) 数组必须先定义,后使用数组必须先定义,后使用修改修改 for(j=0;j10;j+) printf(%d ,aj);()v一维数组的引用一维数组的引用数组名不能与程序中的其它变量同名数组名不能与程序中的其它变量同名 只能逐个引用数组元素只能逐个引用数组元素,不能整体使用不能

4、整体使用例例 int i=15; ( ) int datai; 8数据元素的下标起始值为数据元素的下标起始值为0 0数组必须先定义,后使用数组必须先定义,后使用代表数据长度的常量表达式不能使用变量代表数据长度的常量表达式不能使用变量 v一维数组的引用一维数组的引用数组名不能与程序中的其它变量同名数组名不能与程序中的其它变量同名 只能逐个引用数组元素只能逐个引用数组元素, ,不能整体使用不能整体使用对数组名不允许进行对数组名不允许进行+或或-运算运算例例 int d5; d+; ( )数组可以在定义时直接赋初值数组可以在定义时直接赋初值例例 int a2=5,7; 例例 int a5=5,7;

5、9例例: :求求10个个整数的最大值和最小值整数的最大值和最小值#include stdio.hvoid main() int x10,i,max,min; for(i=0;i10;i+) scanf(%d,&xi);printf(Maximum is %dn,max); printf(Minimum is %dn,min);max=min=x0;for(i=1;i10;i+) if(maxxi) min=xi;10例例:用变量求用变量求Fibonacci数列前数列前20个数个数#include stdio.hvoid main( ) int i, f1=1, f2=1; for(i=1;i=

6、10;i+) printf(%d,%d,f1,f2); f1=f1+f2; f2=f1+f2; 1, 1, 2, 3, 5, 8, 13, 21, 34, 5611例例: 求求Fibonacci数列前数列前20个数个数f0f1f2f3f4f5f1911f0=1;f1=1;fi=fi-1+fi-2; (i2).2358676512#include stdio.hvoid main( ) int i; int f20=1,1; for(i=2;i20;i+) fi=fi-2+fi-1; for(i=0;i20;i+) if(i%5=0) printf(n); printf(%12d,fi); 例例

7、:用数组求用数组求Fibonacci数列前数列前20个数个数1338 49 65 76 1338 49 65 1338 49 1349 38 65 97 76 133849769713971376136597766513494938 1313383813例例:用用冒泡法冒泡法对对6个数排序个数排序14#include stdio.hvoid main( ) int a6,i,j,t; for(i=0;i6;i+) scanf(%d,&ai); for(i=0;i6;i+) printf(%d ,ai);例例:用用冒泡法冒泡法对对6个数排序个数排序for(i=0;i5;i+) for(j=0;j

8、aj+1) t=aj; aj=aj+1; aj+1=t; 1549 38 65 13 76 27例例: :用用选择法选择法对对6个数排序个数排序493838131349 65 38 76 27493838272765 49 76 38496538493865 76 49 496549 76 65 6576657616#include stdio.hvoid main( ) int a6, i, j, t; for(i=0; i6; i+) scanf(%d, &ai); for(i=0;i6;i+) printf(%d ,ai);例例: :用用选择法选择法对对6个数排序个数排序for(i=0;

9、i5;i+) for(j=i+1;jaj) t=ai; ai=aj; aj=t; 17第一轮第一轮: : 49 38 65 13 76 27 j i例例: :用用简单选择法简单选择法对对a6数组数组升排序升排序k18例例: :用用简单选择法简单选择法对对a6数组数组升排序升排序第一轮第一轮: : 49 38 65 13 76 27j j ik kkj jj jkj j jai与与ak交换交换49131319第一轮第一轮: : 49 38 65 13 76 27j j i k kkj jai与与ak交换交换491313第二轮第二轮: : 38 65 49 76 27j j j273827例例:

10、:用用简单选择法简单选择法对对a6数组数组升排序升排序20例例: :用用简单选择法简单选择法对对a6数组数组升排序升排序第一轮第一轮: : 49 38 65 13 76 27ai与与ak交换交换491313第二轮第二轮: : 38 65 49 76 382727j j第三轮第三轮: : 65 49 76 38j jj3865k k i38k kk21#include stdio.hvoid main() int a6,i,j,k,x; for(i=0;i6;i+) scanf(%d,&ai); for(i=0;i6;i+) printf(%d ,ai);例例: :用用简单选择法简单选择法对对6

11、个数排序个数排序for(i=0;i5;i+) k=i; for(j=i+1;j6;j+) if(ajak) k=j; if(i!=k) x=ai; ai=ak; ak=x;22二维数组二维数组v二维数组的定义二维数组的定义v二维数组的初始化二维数组的初始化v二维数组的简单示例二维数组的简单示例23定义:定义:数据类型数据类型 数组名数组名常量表达式常量表达式常量表达式常量表达式;行数行数列数列数例例 int a34; float b25; int a3,4; ( )存放顺序存放顺序:按列先变化存放在一维内存中按列先变化存放在一维内存中a01a10a11a20a21a00int a32a00 a

12、01a10 a11a20 a21v二维数组二维数组24v二维数组示例二维数组示例a01a02a03a10a11a00a13a20a21a22a23a12a0a1a2a0a1a2行行名名a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a23每个元素每个元素ai由包含由包含4个个元素的一维数组组成元素的一维数组组成int a34;二维数组二维数组a是由是由3个元素组成个元素组成25分行初始化分行初始化 例例 int a23=1,2,3,4,5,6;a00a01a02a10a11a12123456全部初始化全部初始化 例例 int a23=1,2,4;a00a01

13、a02a10a11a12120400部分初始化部分初始化 例例 int a3=1,2,3,4,5,6;a00a01a02a10a11a12123456第一维长度省略初始化第一维长度省略初始化v二维数组元素的初始化二维数组元素的初始化26分行初始化分行初始化按元素排列顺序初始化按元素排列顺序初始化 例例 int a23=1,2,3,4,5,6;a00a01a02a10a11a12123456全部初始化全部初始化 例例 int a23=1,2,4;a00a01a02a10a11a12124000部分初始化部分初始化v二维数组元素的初始化二维数组元素的初始化 例例 int a 3=1,2,3,4,5

14、;a00a01a02a10a11a12123450第一维长度省略初始化第一维长度省略初始化27例例: :求二维数组中最大元素及其行列号求二维数组中最大元素及其行列号#include stdio.hvoid main() int a34=1,2,3,4,9,8,7,6,-10,10,-5,2; int i,j,r=0,c=0,max; max=a00; printf(max:%d,r:%d,c:%d,max,r+1,c+1);for(i=0;i3;i+) for(j=0;jmax) max=aij; r=i; c=j; 28例例: :互换行列元素到并保存到另一数组互换行列元素到并保存到另一数组a=1 2 34 5 6b=1 42 53 6bji=aij29#include stdio.hvoid main() int a23=1,2,3,4,5,6, b32,i,j; for(i=0;i3;i+) for(j=0;j2;j+) printf(%5d,bij); printf(n); 例例: :互换行列元素到并保存到另一数组互换行列元素到并保存到另一数组for(i=0;i2;i+) for(j=0;j3;j+) bji=aij;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号