C++程序设计课件:4-数组-1

上传人:努力****83 文档编号:189268237 上传时间:2023-02-21 格式:PPT 页数:147 大小:2.35MB
收藏 版权申诉 举报 下载
C++程序设计课件:4-数组-1_第1页
第1页 / 共147页
C++程序设计课件:4-数组-1_第2页
第2页 / 共147页
C++程序设计课件:4-数组-1_第3页
第3页 / 共147页
资源描述:

《C++程序设计课件:4-数组-1》由会员分享,可在线阅读,更多相关《C++程序设计课件:4-数组-1(147页珍藏版)》请在装配图网上搜索。

1、华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006勾股数w 勾股数是满足x2+y2=z2的自然数,请编程完成打印20以内的勾股数,要求:w 按升序输出勾股数时,例如“3,4,5”;w 每行输出一个勾股数;w 不得输出重复的勾股数;华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006#include#include using namespace std;void main()int n=20;/组成勾股数的每一个整数均不得大于nint a,b,c;for(a=1;a=n;a+)for(b=a;b=n;b+)for(c=1;c=n;c+)if(c

2、*c=a*a+b*b)couta“,”b“,”cendl;华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006工资w 设计程序给职工加工资,若其工资大于3500,则加300元,若在30003500之间,则加600元,若3000元以下,则加800元。华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006#include using namespace std;void main()int a;couta;if(a3500)a+=300;else if(a3000)a+=600;elsea+=800;cout工资调整到aendl;华南理工大学计算机学院

3、华南理工大学计算机学院 周霭如周霭如 20062006华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例1 数组测试数组测试#includevoid main()int a 5 =1,3,5,7,9 ;for(int i=0;i 5;i+)cout a i ends;cout endl;static int b 5 =1,2,3;for(i=0;i 5;i+)cout b i ends;cout endl;int c =1,2,3,4,5,6,7 ;for(i=0;i sizeof(c)/sizeof (int);i+)cout c i ends;cout en

4、dl;/声明数组声明数组a并初始化并初始化 一维数组与初始化华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例1 数组测试数组测试#includevoid main()int a 5 =1,3,5,7,9 ;for(int i=0;i 5;i+)cout a i ends;cout endl;static int b 5 =1,2,3;for(i=0;i 5;i+)cout b i ends;cout endl;int c =1,2,3,4,5,6,7 ;for(i=0;i sizeof(c)/sizeof (int);i+)cout c i ends;cout

5、 endl;/声明数组声明数组a并初始化并初始化/输出数组输出数组a的全部元素值的全部元素值 一维数组与初始化华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例1 数组测试数组测试#includevoid main()int a 5 =1,3,5,7,9 ;for(int i=0;i 5;i+)cout a i ends;cout endl;static int b 5 =1,2,3;for(i=0;i 5;i+)cout b i ends;cout endl;int c =1,2,3,4,5,6,7 ;for(i=0;i sizeof(c)/sizeof (i

6、nt);i+)cout c i ends;cout endl;/声明数组声明数组a并初始化并初始化/输出数组输出数组a的全部元素值的全部元素值/声明静态数组声明静态数组b并初始化并初始化 一维数组与初始化华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例1 数组测试数组测试#includevoid main()int a 5 =1,3,5,7,9 ;for(int i=0;i 5;i+)cout a i ends;cout endl;static int b 5 =1,2,3;for(i=0;i 5;i+)cout b i ends;cout endl;int

7、c =1,2,3,4,5,6,7 ;for(i=0;i sizeof(c)/sizeof (int);i+)cout c i ends;cout endl;/声明数组声明数组a并初始化并初始化/输出数组输出数组a的全部元素值的全部元素值/声明静态数组声明静态数组b并初始化并初始化/输出数组输出数组b的全部元素值的全部元素值 一维数组与初始化华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例1 数组测试数组测试#includevoid main()int a 5 =1,3,5,7,9 ;for(int i=0;i 5;i+)cout a i ends;cout e

8、ndl;static int b 5 =1,2,3;for(i=0;i 5;i+)cout b i ends;cout endl;int c =1,2,3,4,5,6,7 ;for(i=0;i sizeof(c)/sizeof (int);i+)cout c i ends;cout endl;/声明数组声明数组a并初始化并初始化/输出数组输出数组a的全部元素值的全部元素值/声明静态数组声明静态数组b并初始化并初始化/输出数组输出数组b的全部元素值的全部元素值/声明数组声明数组c,初始化,默认长度,初始化,默认长度 7 一维数组与初始化华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如

9、20062006/例例1 数组测试数组测试#includevoid main()int a 5 =1,3,5,7,9 ;for(int i=0;i 5;i+)cout a i ends;cout endl;static int b 5 =1,2,3;for(i=0;i 5;i+)cout b i ends;cout endl;int c =1,2,3,4,5,6,7 ;for(i=0;i sizeof(c)/sizeof (int);i+)cout c i ends;cout endl;/声明数组声明数组a并初始化并初始化/输出数组输出数组a的全部元素值的全部元素值/声明静态数组声明静态数组b

10、并初始化并初始化/输出数组输出数组b的全部元素值的全部元素值/声明数组声明数组c,初始化,默认长度,初始化,默认长度 7 int 类型数据字节数类型数据字节数 一维数组与初始化华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例1 数组测试数组测试#includevoid main()int a 5 =1,3,5,7,9 ;for(int i=0;i 5;i+)cout a i ends;cout endl;static int b 5 =1,2,3;for(i=0;i 5;i+)cout b i ends;cout endl;int c =1,2,3,4,5,6

11、,7 ;for(i=0;i sizeof(c)/sizeof (int);i+)cout c i ends;cout endl;/声明数组声明数组a并初始化并初始化/输出数组输出数组a的全部元素值的全部元素值/声明静态数组声明静态数组b并初始化并初始化/输出数组输出数组b的全部元素值的全部元素值/声明数组声明数组c,初始化,默认长度,初始化,默认长度 7 数组数组 c 的字节数的字节数 一维数组与初始化华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例1 数组测试数组测试#includevoid main()int a 5 =1,3,5,7,9 ;for(int

12、 i=0;i 5;i+)cout a i ends;cout endl;static int b 5 =1,2,3;for(i=0;i 5;i+)cout b i ends;cout endl;int c =1,2,3,4,5,6,7 ;for(i=0;i sizeof(c)/sizeof (int);i+)cout c i ends;cout endl;/声明数组声明数组a并初始化并初始化/输出数组输出数组a的全部元素值的全部元素值/声明静态数组声明静态数组b并初始化并初始化/输出数组输出数组b的全部元素值的全部元素值/声明数组声明数组c,初始化,默认长度,初始化,默认长度 7 数组数组 c

13、 的元素个数的元素个数 一维数组与初始化华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例1 数组测试数组测试#includevoid main()int a 5 =1,3,5,7,9 ;for(int i=0;i 5;i+)cout a i ends;cout endl;static int b 5 =1,2,3;for(i=0;i 5;i+)cout b i ends;cout endl;int c =1,2,3,4,5,6,7 ;for(i=0;i sizeof(c)/sizeof (int);i+)cout c i ends;cout endl;/声明数

14、组声明数组a并初始化并初始化/输出数组输出数组a的全部元素值的全部元素值/声明静态数组声明静态数组b并初始化并初始化/输出数组输出数组b的全部元素值的全部元素值/声明数组声明数组c,初始化,默认长度,初始化,默认长度 7/输出数组输出数组c的全部元素值的全部元素值 一维数组与初始化华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006访问格式:数组名 表达式 一维数组访问一维数组访问1以下标方式访问数组以下标方式访问数组 一维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006访问格式:数组名数组名 表达式 一维数组访问一维数组访问1以下标

15、方式访问数组以下标方式访问数组 数组的地址数组的地址 一维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006访问格式:数组名 表达式表达式 一维数组访问一维数组访问1以下标方式访问数组以下标方式访问数组 整型表达式整型表达式 一维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例2 以下标方式访问数组以下标方式访问数组#includevoid main()int total=0;int intary 10;for(int i=0;i 10;i+)intary i =i;cout intary i ends;cout en

16、dl;for(i=0;i 10;i+)total+=intary i ;cout total=total endl;循环控制变量循环控制变量作下标表达式作下标表达式 一维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006 二维数组每一个元素是类型相同、长度相等的一维数组华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a 0 a 1 a 2 17 19 20 18 23 16 22 19 25 23 16 31 二维数组 a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 华南理工大学计算机

17、学院华南理工大学计算机学院 周霭如周霭如 20062006 二维数组定义与初始化二维数组定义与初始化类型 数组名 常量表达式 常量表达式 ;例:例:int a 3 4 ;/二维数组,二维数组,3 行行4列列int i 2 3 =1,2,3,4,5,6 ;/数组初始化数组初始化int j 2 3 =1,2,3,4,5,6 ;/与与 i 数组初始化方式等价数组初始化方式等价int l 4 =1,1,1 ;/仅对第仅对第 0 列元素赋初值列元素赋初值int m 3 =1,2,3,4,5,6/错误,不能省略第二维长度错误,不能省略第二维长度 二维数组定义与初始化二维数组定义与初始化 华南理工大学计算机

18、学院华南理工大学计算机学院 周霭如周霭如 20062006多维数组按高维优先存放多维数组按高维优先存放a 3 4 a 0 0 a 0 1 a 0 2 a 0 3 a 1 0 a 1 1 a 1 2 a 1 3 a 2 0 a 2 1 a 2 2 a 2 3 二维数组定义与初始化二维数组定义与初始化华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006数组名 表达式1 表达式2 二维数组访问二维数组访问 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例3 访问二维数组访问二维数组#include#include vo

19、id main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;a 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cou

20、t setw(5)a i j ;cout endl;aij 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;a0ij 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例3 访问二维数

21、组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;a00ij 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for

22、(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;a00ij2 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;a01ij2 二维数组访问二维数组访问华南理工大学计算机学院华南

23、理工大学计算机学院 周霭如周霭如 20062006a01ij2/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;4 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a02ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4

24、;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a02ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j

25、 ;cout endl;6 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a03ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;6 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a03ij24/例例3 访问二维数组访问二维

26、数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;68 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a04ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(

27、i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;68 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a14ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;68 二维数组访问二维数组访问华南理工大学计算机学院华南理工

28、大学计算机学院 周霭如周霭如 20062006a10ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;68 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a10ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4

29、;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;681 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a11ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a

30、 i j ;cout endl;681 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a11ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;6813 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a12ij24/例例3 访

31、问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;6813 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a12ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j

32、a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;68135 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a13ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;681357 二维数组访问二维数

33、组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a20ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;6813579 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a21ij24/例例3 访问二维数组访问二维数组#include#includ

34、e void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;681357910 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a22ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+

35、)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;68135791011 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a23ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;6813579101112 二维数组访问二维数组访问华南理工大

36、学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a24ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;6813579101112 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a34ij24/例例3 访问二维数组访问二维数组#include#include

37、void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;6813579101112 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a00ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;

38、i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;6813579101112 二维数组访问二维数组访问华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a00ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;6813579101112 二维数组访问二维数组访问华

39、南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006 数组元素作参数的性质与简单变量相同 数组名作参数传递地址华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例4#include#includevoid fun(int,int,int);void main()int i,a3=1,2,3 ;fun(a0,a1,a2);for(i=0;i 3;i+)cout setw(4)a i ;cout endl;void fun(int a,int b,int c)a+;b+;c+;cout setw(4)a setw(4)b setw(4)c end

40、l;return;传值参数传值参数华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例4#include#includevoid fun(int,int,int);void main()int i,a3=1,2,3 ;fun(a0,a1,a2);for(i=0;i 3;i+)cout setw(4)a i ;cout endl;void fun(int a,int b,int c)cout setw(4)a setw(4)b setw(4)c endl;return;修改局部量修改局部量华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/

41、例例5#include int sum(int ap ,int n)int m=0;for(int i=0;i n;i+)m+=api;return m;void main()int a 10 =1,2,3,4,5,6,7,8,9,10 ;cout sum=sum(a,10)endl;a 0 x0065FDD012345678910 数组名作函数参数数组名作函数参数华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例5#include int sum(int ap ,int n)int m=0;for(int i=0;i n;i+)m+=api;return m;

42、void main()int a 10 =1,2,3,4,5,6,7,8,9,10 ;cout sum=sum(a,10)endl;a 0 x0065FDD012345678910 数组名作函数参数数组名作函数参数华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006 apn/例例5#include int sum(int ap ,int n)int m=0;for(int i=0;i n;i+)m+=api;return m;void main()int a 10 =1,2,3,4,5,6,7,8,9,10 ;cout sum=sum(a,10)endl;a 0 x00

43、65FDD012345678910 数组名作函数参数数组名作函数参数华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例5#include int sum(int ap ,int n)int m=0;for(int i=0;i n;i+)m+=api;return m;void main()int a 10 =1,2,3,4,5,6,7,8,9,10 ;cout sum=sum(a,10)endl;a 0 x0065FDD0123456789100 x0065FDD0ap10n 数组名作函数参数数组名作函数参数华南理工大学计算机学院华南理工大学计算机学院 周霭如周

44、霭如 200620060 x0065FDD0/例例5#include int sum(int ap ,int n)int m=0;for(int i=0;i n;i+)m+=api;return m;void main()int a 10 =1,2,3,4,5,6,7,8,9,10 ;cout sum=sum(a,10)endl;apa 0 x0065FDD01234567891010n 数组名作函数参数数组名作函数参数华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620060 x0065FDD0/例例5#include int sum(int ap ,int n)int

45、m=0;for(int i=0;i n;i+)m+=api;return m;void main()int a 10 =1,2,3,4,5,6,7,8,9,10 ;cout sum=sum(a,10)endl;ap0ma 0 x0065FDD01234567891010n 数组名作函数参数数组名作函数参数华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620060 x0065FDD0/例例5#include int sum(int ap ,int n)int m=0;for(int i=0;i n;i+)m+=api;return m;void main()int a 10

46、=1,2,3,4,5,6,7,8,9,10 ;cout sum=sum(a,10)endl;0iap1ma 0 x0065FDD01234567891010n 数组名作函数参数数组名作函数参数华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例5#include int sum(int ap ,int n)int m=0;for(int i=0;i n;i+)m+=api;return m;void main()int a 10 =1,2,3,4,5,6,7,8,9,10 ;cout sum=sum(a,10)endl;a 0 x0065FDD0123456789

47、101010in55m 数组名作函数参数数组名作函数参数0 x0065FDD0ap华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006 数据排序是指对数据按关键字大小重新整理 按照排序的算法、时间空间效率,有许多种排序法讨论两种简单排序法:选择排序法冒泡排序法 应用举例应用举例 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006算法分析:算法分析:按降序排列按降序排列 若一组整数放在数组若一组整数放在数组a0,a 1,an-1a0,a 1,an-1中,中,第一趟在第一趟在a0a0an-1an-1找出最大值,放在找出最大值,放在a0;a0

48、;第二趟在第二趟在a1a1an-1an-1找出最大值,放在找出最大值,放在a1;a1;依此类推,直到从依此类推,直到从an-2an-2和和an-1an-1之中找最大值之中找最大值 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006算法描述算法描述:for(i=0;in-1;i+)*从ai到an-1中找最大元素at;把 a t 与 a i 交换 *细化寻找最大元素算法:每一趟寻找中,设变量 t,记录当前最大元素下标:for(j=i+1;jat)t=j;应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620064938659776a 0

49、a 1 a 2 a 3 a 4 i j t4938a 1 :a 0 a 1 a 0 100for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620064938659776a 0 a 1 a 2 a 3 a 4 0i1j0t249652a 2 :a 0 a 2 a 0 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如

50、周霭如 200620064938659776a 0 a 1 a 2 a 3 a 4 0i2j2t365973a 3 :a 2 a 3 a 2 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620064938659776a 0 a 1 a 2 a 3 a 4 0i3j3t49776a 4 :a 3 a 4 a 3 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华

51、南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620064938659776a 0 a 1 a 2 a 3 a 4 0i5j3t9749a 0 a 3 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620069738654976a 0 a 1 a 2 a 3 a 4 0i5j3t23865a 2 :a 1 a 2 a 1 112 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=

52、j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620069738654976a 0 a 1 a 2 a 3 a 4 1i2j2t36549a 3 :a 2 a 3 a 2 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620069738654976a 0 a 1 a 2 a 3 a 4 1i3j2t46576a 4 :a 2 a 4 a 2 4 应用举例for(i=0;i n-1;i+)/n

53、=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620069738654976a 0 a 1 a 2 a 3 a 4 1i4j4t7638a 1 a 4 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620069776654938a 0 a 1 a 2 a 3 a 4 1i5j4t36549a 3 :a 2 a 3 a 2 22 应用举例fo

54、r(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620069776654938a 0 a 1 a 2 a 3 a 4 2i3j2t46538a 4 :a 2 a 4 a 2 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620069776654938a 0 a 1 a 2 a 3 a 4 2i4j2ta 2

55、a 2 65 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620069776654938a 0 a 1 a 2 a 3 a 4 2i5j2t44938a 4 :a 3 a 4 a 3 33 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620069776654938a 0 a 1 a 2 a

56、3 a 4 3i5j3ta 3 a 3 49 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 200620069776654938a 0 a 1 a 2 a 3 a 4 4i5j3t排序结束排序结束 应用举例for(i=0;i n-1;i+)/n=4 t=i;for(j=i+1;j a t )t=j;把 a t 与 a i 交换 华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例6#include#include#inc

57、ludevoid sort(int ,int);void main()int a 10;srand(time(0);/调用种子函数调用种子函数 for(int i=0;i 10;i+)ai=rand()%100;/用随机函数初始化数组用随机函数初始化数组 for(i=0;i 10;i+)cout a i ;/输出原始序列输出原始序列 cout endl;sort(a,10);/调用排序函数调用排序函数 cout Order1:endl;for(i=0;i 10;i+)cout a i ;/输出排序后序列输出排序后序列 cout endl;应用举例华南理工大学计算机学院华南理工大学计算机学院 周

58、霭如周霭如 20062006/例例6#include#include#includevoid sort(int ,int);void main()int a 10;srand(time(0);/调用种子函数调用种子函数 for(int i=0;i 10;i+)ai=rand()%100;/用随机函数初始化数组用随机函数初始化数组 for(i=0;i 10;i+)cout a i ;/输出原始序列输出原始序列 cout endl;sort(a,10);/调用排序函数调用排序函数 cout Order1:endl;for(i=0;i 10;i+)cout a i ;/输出排序后序列输出排序后序列

59、cout endl;时间函数时间函数 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例6#include#include#includevoid sort(int ,int);void main()int a 10;srand(time(0);/调用种子函数调用种子函数 for(int i=0;i 10;i+)ai=rand()%100;/用随机函数初始化数组用随机函数初始化数组 for(i=0;i 10;i+)cout a i ;/输出原始序列输出原始序列 cout endl;sort(a,10);/调用排序函数调用排序函数 cout Order1:

60、endl;for(i=0;i 10;i+)cout a i ;/输出排序后序列输出排序后序列 cout endl;种子函数种子函数 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例6#include#include#includevoid sort(int ,int);void main()int a 10;srand(time(0);/调用种子函数调用种子函数 for(int i=0;i 10;i+)ai=rand()%100;/用随机函数初始化数组用随机函数初始化数组 for(i=0;i 10;i+)cout a i ;/输出原始序列输出原始序列

61、cout endl;sort(a,10);/调用排序函数调用排序函数 cout Order1:endl;for(i=0;i 10;i+)cout a i ;/输出排序后序列输出排序后序列 cout endl;随机函数随机函数 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/例例6#include#include#includevoid sort(int ,int);void main()int a 10;srand(time(0);/调用种子函数调用种子函数 for(int i=0;i 10;i+)ai=rand()%100;/用随机函数初始化数组用随机函

62、数初始化数组 for(i=0;i 10;i+)cout a i ;/输出原始序列输出原始序列 cout endl;sort(a,10);/调用排序函数调用排序函数 cout Order1:endl;for(i=0;i 10;i+)cout a i ;/输出排序后序列输出排序后序列 cout endl;调用自定义函数 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006/sortvoid sort(int x,int n)int max,t;for(int i=0;i n-1;i+)/对数组排序对数组排序 t=i;for(int j=i+1;j x t )t=j;

63、if(t!=i)max=x i ;/交换数组元素交换数组元素 x i =x t ;x t =max;return;升序用升序用 比较比较 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006rand()随机函数。返回032767的随机值。该函数没有参数 srand(number)种子函数。要求一个无符号整型参数置随机数生成器的启动值为使种子值可变,用系统时间做srand函数的参数:time()时间函数,在time.h定义。用0作参数时,返回系统当前时间 随机函数随机函数Visual C+的标准库(stdlib.h)提供两个用于产生随机数的函数:应用举例华南理工大

64、学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006 数组元素作参数的性质与简单变量相同 数组名作参数传递地址华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006a00ij24/例例3 访问二维数组访问二维数组#include#include void main()int a 3 4 ;int i,j;for(i=0;i 3;i+)for(j=0;j a i j ;for(i=0;i 3;i+)for(j=0;j 4;j+)cout setw(5)a i j ;cout endl;6813579101112 二维数组访问二维数组访问华南理工大学计算机学院华

65、南理工大学计算机学院 周霭如周霭如 20062006杨辉三角形w 1w 1 1w 1 2 1w 1 3 3 1w 1 4 6 4 1vai0=aii=1vaij=ai-1j+ai-1j-1杨辉三角形华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006一个简单的生肖查询程序,输入出生年份,输出对应的生肖#include using namespace std;void main()char sign=鼠牛虎兔龙蛇马羊猴鸡狗猪;int year;do coutyear;while(year0);int code;while(year1972)year+=12;code=(y

66、ear-1972)%12;/1972为鼠年coutsign2*codesign2*code+1 b 1 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006 采用相邻元素比较的方法示例:示例:对数组元素进行升序排列4938659776132752b0b1b2b3 b4b5b6b73849b 0 b 1 b 0 b 1 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006 采用相邻元素比较的方法示例:示例:对数组元素进行升序排列3849659776132752b0b1b2b3 b4b5b6b74965b 1 b 2 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006 采用相邻元素比较的方法示例:示例:对数组元素进行升序排列3849659776132752b0b1b2b3 b4b5b6b76597b 2 b 4 应用举例华南理工大学计算机学院华南理工大学计算机学院 周霭如周霭如 20062006 采用相邻元素比较的方法示例:示例:对数组元素进行升序排列3849659776132752b0b1b

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!