例74:定义时对数组元素初始化 main() int static int a5]=(2, 4, 6, 8 for(=0;i<=4;++ 运行结果: printf(" o%/od a+1) 357 8 上一页下一页 返回 第七章数组
上一页 下一页 返回 第七章 数组 例7.4:定义时对数组元素初始化 main( ) { int i; static int a[5]={2,4,6,8}; for(i=0;i<=4;i++) printf(“%d\n”,a[i]+1); } 运行结果: 3 5 7 8 1
714一维数组程序举例 令例75:求 Fibonacci数列问题关于菲波那契算法: 头两个数各为1,以后的每个数皆为前两个数之和。 . main( w int i; static int f[20]=(1, 1) for(=2;1<20;i++) 印iy=fi2]+fi-1]; for(i=0;1<20;i++) if(1%5==0) printf (\n) printf((%12d”,fi]); 上一页下一页 返回 第七章数组
上一页 下一页 返回 第七章 数组 7.1.4 一维数组程序举例 ❖ 例7.5: 求Fibonacci 数列问题 关于菲波那契算法: 头两个数各为1,以后的每个数皆为前两个数之和。 ❖ main( ) ❖ { int i; static int f[20]={1,1}; ❖ for(i=2; i<20; i++) ❖ f[i]= f[i-2]+ f[i-1]; ❖ for(i=0; i<20; i++) ❖ { ❖ if(i%5= =0) printf (“\ n” ); ❖ printf (“%12d”,f[i]); ❖ } ❖ }
例7.6用起泡法对6个数排序 思路将相邻两数两两比较若小则调到前 头,不小也要比较 n=6 冷设外层循环变量j:(1~n-1)次 冷内层循环变量i(1~nj 上一页下一页 返回 第七章数组
上一页 下一页 返回 第七章 数组 例7.6用起泡法对6个数排序 ❖ 思路:将相邻两数两两比较,若小则调到前 头,不小也要比较 ❖ n=6 ❖ 设外层循环变量 j :(1~n-1)次 ❖ 内层循环变量 i (1~n-j)次
排序的过程示意 9‖888881816666 444 666668444 622 6691444 44822 260 444922 22280 006 22229000008 888 00000999999 999 第一轮最大数沉底 第二轮的最大数沉底第三轮的最大数沉底 J =l=l to 5 J=2 l to 4 =3 =1 to 3 422 20 240J=4I1to202J=5r=1to1 0104第四轮的最大数沉底44 666 66第五轮的最大数沉底 888 88 999 99 上一页下一页 返回 第七章数组
上一页 下一页 返回 第七章 数组 排序的过程示意 9 8 6 4 2 0 8 6 9 4 2 0 8 9 6 4 2 0 8 6 4 9 2 0 8 6 4 2 9 0 8 6 4 2 0 9 第一轮最大数沉底 J=1 I=1 to 5 6 8 4 2 0 9 6 4 8 2 0 9 6 4 2 8 0 9 6 4 2 0 8 9 第二轮的最大数沉底 8 6 4 2 0 9 J=2 I=1 to 4 第三轮的最大数沉底 J=3 I=1 to 3 4 6 2 0 8 9 4 2 6 0 8 9 4 2 0 6 8 9 4 2 0 6 8 9 2 4 0 6 8 9 2 0 4 6 8 9 J=4 I=1 to 2 第四轮的最大数沉底 2 0 4 6 8 9 0 2 4 6 8 9 J=5 I=1 to 1 第五轮的最大数沉底
交换的过程示意 a[1]a[2]a[31a[41a[S][61 6a[i>a[计+1] 98542 tea[1],a[1]=a[2],a[2] 89 a2],a[2]=a3],a[3]= 859 [3],a[3]=a[4],a[4]= 8549 tea[4],a[4]=a匀],a[5]= 8 5 tea[5l,a[s=all,al6= [1],a[1]=a2],a[2] 58 2 tea2],a[2]=a3],a[3]= 548 tea3a3]=a[4],a[4]= 5428 4 t∈a[4],a[4]=a[5 542D 8 t∈a[1],a[1]=a2],a[2]=t 4 [3],a[3]=a[4],a[4] t∈a1],a1]=a[2],a[2] 24 [2],a2]=a3],a[3 2D4 [1],a[1]=a[2],a[2 上一页下一页 返回 第七章数组
上一页 下一页 返回 第七章 数组 交换的过程示意