例92利用数组求出 Fibonacci数列的前40项。 在循环一章中讲述了利用变量计算 fibonacci?数列之 和的题目。数列的数据模型常用数组来表示。 main int float f40: i10=1;f1=1; for(j=2j<40:j++) fll=fj-1+f[ij-21 r(j=0;j<40j++) printf("%100f", f[iD) printf( \n); 7
例9.2 利用数组求出Fibonacci数列的前40项。 在循环一章中讲述了利用变量计算Fibonacci数列之 和的题目。数列的数据模型常用数组来表示。 main( ) { int j; float f[40]; f[0]=1;f[1]=1; for(j=2;j<40;j++) f[j]=f[j-1]+f[j-2]; for (j=0;j<40;j++) printf("%10.0f",f[j]); printf("\n"); }
例9.4输入10个整数,输出最大值。 mainO int array 10, max, k; for(k=0;k<10;k++) scanf("%d", &arraylk)) max=array 0; for(k=1;k<10;k++) if(max<arraylkd max=array k; for(k=0;k<10;k++) printf("array %d]=%3d", k,arraylk)) printf( \n"; printf("max=%3d\n", max); 7
例9.4 输入10个整数,输出最大值。 main() { int array[10],max,k; for(k=0;k<10;k++) scanf("%d",&array[k]); max=array[0]; for(k=1;k<10;k++) if(max<array[k]) max=array[k]; for(k=0;k<10;k++) printf("array[%d]=%3d",k,array[k]); printf("\n"); printf("max=%3d\n",max); }
例95用选择法对N个数排序 输入10个数据到a数组中 i=1~9 min=i-1 amin]alI mIr a[i-1]<今a[min] 输出排序后的数组a 图95例9.5的流程图 7
例9.5 用选择法对N个数排序 i=1 ~ 9 min=i-1 j=i ~ 9 min=j a[i-1] a[min] 输出排序后的数组 a 输入 10 个数据到 a 数组中 a[min]>a[j] Y N 图9.5 例9.5的流程图
#definen 1o maint int a NI, min, temp., i, j; for (i=0; i<N; i++) scanf("%d", &a(iD; for(i=l; i<N; i++) min=i-1 forge=ij<N:j++) if(a>aliD mnJ temp=amini;a min=ai-1;ai-1=temp for(i=0; i<N; i++) printf("%5d,, a iD) printf("n); 7
#define N 10 main( ) { int a[N],min,temp,i,j; for (i=0;i<N;i++) scanf("%d",&a[i]); for(i=1;i<N;i++) { min=i-1; for(j=i;j<N;j++) if(a[min]>a[j]) min=j; temp=a[min];a[min]=a[i-1];a[i-1]=temp; } for(i=0;i<N;i++) printf("%5d",a[i]); printf("\n"); }
93多维数组的定义和使用 931多维数组的定义 1.二维数组的定义 二维数组的定义形式为: 类型标识符数组名行元素个数列元素个数 行元素个数是数组的行数(假定用M表示) 列元素个数是数组的列数(假定用N表示)。 7
9.3 多维数组的定义和使用 9.3.1 多维数组的定义 1.二维数组的定义 二维数组的定义形式为: 类型标识符 数组名[行元素个数][列元素个数]; 行元素个数是数组的行数(假定用M表示), 列元素个数是数组的列数(假定用N表示)