第5章数组与指针 例52用一维数组处理 Fibonac数列的前40项 include <iostream h> include <iomanip. h> void main( inti: intf40]={1,1 for(i=2;i<40;i++) fo= f[i-1]+ f[]; for(i=0;i<40;i++) out<≤setw(12)≤<f; if((+1)%5==0) cout < end: cout << end:
例5.2 用一维数组处理Fibonacci数列的前40项 #include <iostream.h> #include <iomanip.h> void main() { int i; int f[40]={1,1}; for(i=2; i<40; i++) { f[i] = f[i-1] + f[i-2]; } for(i=0; i<40; i++) { cout << setw(12) << f[i]; if( (i+1)%5 == 0) cout << endl; } cout << endl; } 第5章 数组与指针
第5章数组与指针 例52(续) 程序运行结果 1 1 5 8 13 21 34 144 233 37" 618 987 1597 2584 4181 6765 1g946 17711 28657 46368 7525 121393 196418 317811 514229 83248 1346269 21783g9 3524578 5782887 9227465 149335224157817 39g88169 6324598612334155
例5.2(续) 程序运行结果: 第5章 数组与指针
第5章数组与指针 例53用冒泡法对10个整数按从小到大的顺 序排序 分析:冒泡法的基本思想是通过相邻两个数之间的比较和交换, 使较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底 部。以5个整数排序为例,过程如图所示。 a[0]8555522222 a[1]5822254443 a[2]2284445334 234 a[3]44483335 a[4]33338888888 整个排序过程由两层循环完成,第一次外层循环通过相邻两个 数的比较交换,将待排序数据中的最大数8移到最后,此时最 后一个数8已经排好序。第二次外层循环再把剩下的4个数两俩 比较交换,将其中最大的数5移到a[3的位置,此时最后两个数 5,8已经排好序。一直到最后将所有数据都排好序
例5.3 用冒泡法对10个整数按从小到大的顺 序排序 分析:冒泡法的基本思想是通过相邻两个数之间的比较和交换, 使较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底 部。以5个整数排序为例,过程如图所示。 整个排序过程由两层循环完成,第一次外层循环通过相邻两个 数的比较交换,将待排序数据中的最大数8移到最后,此时最 后一个数8已经排好序。第二次外层循环再把剩下的4个数两俩 比较交换,将其中最大的数5移到a[3]的位置,此时最后两个数 5,8已经排好序。一直到最后将所有数据都排好序。 第5章 数组与指针 a[0] a[1] a[2] a[3] a[4] 8 5 2 4 3 5 8 2 4 3 5 2 8 4 3 5 2 4 8 3 5 2 4 3 8 2 5 4 3 8 2 4 5 3 8 2 4 3 5 8 2 4 3 5 8 2 3 4 5 8 2 3 4 5 8
第5章数组与指针 例53(续一) include <iostream. h> #include <iomanip. h> void maino int i,j, t, a[10; cout<<'请输入10个整数,用空格分隔 for(=0;i<10;i++) cIn for(=0;i<10-1;i++) forj=0;j<10-1-;j++)
例5.3(续一) #include <iostream.h> #include <iomanip.h> void main() { int i,j,t,a[10]; cout << "请输入10个整数,用空格分隔:"; for(i=0; i<10; i++) cin >> a[i]; for(i=0; i<10-1; i++) { for(j=0; j < 10-1-i; j++) { 第5章 数组与指针
第5章数组与指针 例53(续二) fa]>aj+1]) t=a]; a]=a[+1 aj +1]=t cout<<"排序后的数据 for(=0;i<10;i+) cout < setw(5)<<a[: 「程序运行结果为 请输入10个整数,用空格分隔:83918324217242513 排序后的数据:38913171824253242
例5.3(续二) if(a[j] > a[j+1]) { t = a[j]; a[j] = a[j+1]; a[j+1]=t; } } } cout << "排序后的数据:"; for(i=0; i<10; i++) cout << setw(5) << a[i]; } 第5章 数组与指针 程序运行结果为: 请输入10个整数,用空格分隔:8 3 9 18 32 42 17 24 25 13 排序后的数据:3 8 9 13 17 18 24 25 32 42