524一维数组的基本操作 ttdefinen 10 main( f int i, imax, max, a/ni printf((" Enter% d Numbers",N;/*提示输入数据* for(i=0; K<N; i++) scanf("%d", &aiD max =a ul /*假设第0元素就是最大元素 imax= 0: for(i-l; K<N; i++) if (ai> max) max = a imax=i; printf( The Max Numbwer a[%d=%dn",imax, max); 17
17 #define N 10 main( ) { int i, imax, max , a[N]; printf("Enter%d Numbers\n",N); /* 提示输入数据*/ for(i=0;i<N;i++) scanf("%d",&a[i]); max = a[0]; / * 假设第0元素就是最大元素*/ imax= 0; for(i=1;i<N;i++) if (a[i] > max) { max = a[i]; imax = i; } printf("The Max Numbwer a[%d]=%d\n",imax,max); } 5.2.4 一维数组的基本操作
524一维数组的基本操作 5-3一维数组的倒置 编程分析:将第0个元素与最后1个元素的交换、第1个元素 与倒数第2个元素的交换、 即第i个与第n-i-1个元 素的交换,直到in/2 倒置前的数组 A[9] 6 8|10 7 交换 交换 交换 交换 倒置后的数组 18 7 4 2
18 5-3 一维数组的倒置 编程分析:将第0个元素与最后1个元素的交换、第1个元素 与倒数第2个元素的交换、……、即第 i 个与第 n-i-1 个元 素的交换,直到i<n/2。 5.2.4 一维数组的基本操作 2 4 6 8 10 1 3 5 7 9 9 7 5 3 1 10 8 6 4 2 倒置前的数组 A[10] A[9] 交换 交换 交换 交换 倒置后的数组 A[0]
524一维数组的基本操作 维数组的倒置 i define N 10 main () t int i t] for(i=0: i<N: i++) scanf("d",&ali])i for(i=0;i<N/2;i++) /*将数组倒置*/ t=aili a[i]=a[N-1-1]; a[N-1-1]=t; f。x(=0;<N:i++) /*输出倒置后的数组*/ printf("dma[il)i
19 #define N 10 main() { int i,t,a[N]; for(i=0;i<N;i++) scanf("%d",&a[i]); for(i=0;i< N/2;i++) /* 将数组倒置 */ { t=a[i]; a[i]=a[N-i-1]; a[N-i-1]=t; } for(i=0;i<N;i++) /* 输出倒置后的数组 */ printf("%d ",a[i]); } 一维数组的倒置 5.2.4 一维数组的基本操作
例5-4利用数组求 Fibonacci数列的前20个数,并按每 行5个数的格式输出,数列的第1、2两个数均为1 13 21 34 55 89 144 377 61 987 597 84 4181 6765 ◆ Fibonacci数列,前1、2两个数均为1时,后面各 项的值为前两项之和。 令公式:当论>=2时印=li-2]; 令打印输出:5个数为一行,所以当i%5==0时要换 20
20 例5-4 利用数组求Fibonacci数列的前20个数,并按每 行5个数的格式输出,数列的第1、2两个数均为1. ❖Fibonacci数列,前1、2两个数均为1时,后面各 项的值为前两项之和。 ❖公式:当i>=2时f[i]=f[i-1][i-2]; ❖打印输出:5个数为一行,所以当i%5==0时要换 行
#include <stdio. h> nant f int i; intf20}={1,1} for(i=2;i<20;i计+) fi=fi-1 +fi-21; for(i=0;i<20;i++) if〔%5=0) printf("n"); printf(%12d",fD; printf("n); 21
21 #include <stdio.h> main( ) { int i; int f[20]={1,1}; for (i=2;i<20;i++) f[i] = f[i-1] + f[i-2] ; for(i=0;i<20;i++) { if (i%5==0) printf("\n"); printf("%12d", f[i]); } printf("\n"); }