6.1.4一维数组的应用 例1:求 Fibonacci数列的前20项。f=f1-1+f12,且f1=f2=1 定义数组,并赋初值 static int f20]={1,1};/*定义数组的前两个元素* 用循环for求数列的后18项 for(i=2;i<20,i++) f[=f[i-1]+f[i-2] 注意:下标越界问题:i=2且i<20 c語醒设计
6.1.4 一维数组的应用 用循环for求数列的后18项: for (i=2; i<20; i++) f [i]=f [i –1]+f [i –2]; 例1:求Fibonacci 数列的前20项。fi=fi-1+fi-2 ,且f1 = f2= 1。 定义数组,并赋初值 static int f [20]={1,1}; /*定义数组的前两个元素*/ 注意:下标越界问题: i =2且i<20
程序如下: #include <stdio h mlan static int f[201,1i for(i=2;i<20,i++) f[i=f[i-1]+f[i-2]; for(i=0;i<20,计++) f if (1%05==0) printf("n; printf(%12df;) c語醒设计
程序如下: #include <stdio.h> mian ( ) { int i; static 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] ); } }
运行结果如下: 8 13 21 34 55 89 144 133 377 610 987 1597 1584 4181 6765 c語醒设计
1 8 89 987 5 55 610 6765 运行结果如下: 1 13 144 1597 2 21 133 1584 3 34 377 4181
例2:将数组元素作为函数的实参数 pro10_1.c-2 #include <stdio.h> #include <conio.h> main( float b3; fi oat ave, b|0=213; b[l=b|0]/3; b[2l=8.2: printf( b[0=9041ft[1=%4.1ft b[2=%4lfn",b|0J,b1,b{2): float Expfunl( float a, float b,oatc);函数说明* ave=Expfun1(b[0, b[1, b[2D; /函数调用* printf( ave=%4.1f\n", ave); printf( b[0]=%04.1ft b[1=%4.1ft b121%641m:01,2D语厚设i
例2:将数组元素作为函数的实参数 /*----pro10_1.c----*/ #include <stdio.h> #include <conio.h> main( ) { float b[3]; float ave; b[0]=21.3; b[1]=b[0]/3; b[2]=8.2; printf(" b[0]=%4.1f\t b[1]=%4.1f\t b[2]=%4.1f\n",b[0],b[1],b[2]); float Expfun1(float a,float b,float c); /*函数说明*/ ave=Expfun1(b[0],b[1],b[2]); /*函数调用*/ printf(" ave=%4.1f\n",ave); printf(" b[0]=%4.1f\t b[1]=%4.1f\t b[2]=%4.1f\n",b[0],b[1],b[2]);
getcho; float Expfunl( float a, float b,oatc)/函数定义 float sum.aver: sum=a+b+c, a=a+55 b=b+5.5; c=c+55; aver=sum/3.0 printf( a=%4.1ft b=%04.1ntc=%4.1f\n", a, b, c) return(aver); c語醒设计
getch(); } float Expfun1(float a,float b,float c) /*函数定义*/ { float sum,aver; sum=a+b+c; a=a+5.5; b=b+5.5; c=c+5.5; aver=sum/3.0; printf(" a=%4.1f\t b=%4.1f\t c=%4.1f\n",a,b,c); return (aver); }