第七章数组 例7.2用数组实现例71。 maIn 0蕌 inti;蕌 float score[5];蕌 printf("Enter five scores: ) ;T for(i=0;i<5;i+)蕌 scanf("%f", &score [i]);IE printf("\nThe scores in reverse order are: ");HE for(i=4;i>=0;i-)蕌 printf("%4.2f\n", score Li]);tE
第七章 数 组 例 7.2 用数组实现例7.1。 main() { int i; float score[5]; printf("Enter five scores: "); for (i=0; i<5; i++) scanf("%f" , &score[i]); printf("\nThe scores in reverse order are: "); for (i=4; i>=0; i--) printf("%4.2f\n" , score[i]); }
第七章数组 712一维数组的初始化蕌 可以在程序运行后用赋值语句或输入语句使数组中的元素 得到值,也可以使数组在程序运行之前(即编译阶段)就得到 初值,后者称为数组的初始化。蕌 对数组元素的初始化可以用以下方法实现:蕌 1.在定义数组时对数组元素赋以初值,如:蕌 ints[5]={78,87,7,91,60}; 2.也可以只给一部分元素赋值。例如:蕌 ints[5]={78,87,77};潼 其结果是:s[0]=78,s[1]=87,s[2]=77,s[3]=0, s[4]=0,即花括号内的值只赋给了数组的前几个元素,后 几个元素的值为0
第七章 数 组 7.1.2 一维数组的初始化 可以在程序运行后用赋值语句或输入语句使数组中的元素 得到值,也可以使数组在程序运行之前(即编译阶段)就得到 初值, 后者称为数组的初始化。 对数组元素的初始化可以用以下方法实现: 1. 在定义数组时对数组元素赋以初值,如: int s[5]={78, 87, 77, 91, 60}; 2. 也可以只给一部分元素赋值。例如: int s[5]={78, 87, 77}; 其结果是:s[0]=78, s[1]=87, s[2]=77, s[3]=0, s[4]=0,即花括号内的值只赋给了数组的前几个元素, 后 几个元素的值为0
第七章数组 一3, 3.如果想使一个数组中全部元素值为0,可写成: ints5]={0,0,0,0.,0};或ints5}={0} 不能写成:ints5}={0*10};(不能给数组整体赋初值) 4.若对全部数组元素赋初值时,可以不指定数组长度。例 如:ints[5]={1,2,3,4,5};潼可以写成: ints[]={1,2,3,4,5};(系统自动定义数组长度为5)蕌 但若被定义的数组长度与提供的初值的个数不等则数组 长度不能省略.如想定义数组长度为10,而初值只有5个, 则数组长度不能省略,必须写成nta10={1,2,34,5};
第七章 数 组 3. 如果想使一个数组中全部元素值为0,可写成: int s[5]={0,0,0,0,0}; 或 int s[5]={0}; 不能写成: int s[5]={0*10}; (不能给数组整体赋初值) 4. 若对全部数组元素赋初值时,可以不指定数组长度。例 如: int s[5]={1, 2, 3, 4, 5}; 可以写成 : int s[ ]={1, 2, 3, 4, 5}; (系统自动定义数组长度为5) 但若被定义的数组长度与提供的初值的个数不等,则数组 长度不能省略. 如想定义数组长度为10,而初值只有5个, 则数组长度不能省略 ,必须写成:int a[10]={1,2,3,4,5};
第七章数组 5.一维数组元素是按下标递增的顺序连续存放的,即数 组占有连续的存贮空间。如s数组在内存中的存贮示意 如图61所示。 S[OI S[1] S[2] S[3] S[4] 图71s数组存贮示意图
第七章 数 组 5. 一维数组元素是按下标递增的顺序连续存放的, 即数 组占有连续的存贮空间。如s数组在内存中的存贮示意 如图6.1所示。 S[0] S[1] S[2] S[3] S[4] 图 7.1 s数组存贮示意图
第七章数组 例73用数组来处理求 Fibonacci数列问题P124 3 5main0渲 13 21 34 55 inti,f[20}={1,1};渲 89 144 233 377 610 for(i=2;i<20;i++) 9871597258441816765 f[i=fi-2]+f[i-1]; for(i=0;i<20;i++) 规律:下一项是前两项之和 if(i%5==0) printf(“in") printf(“%12d”,f); 潼
第七章 数 组 例 7.3 用数组来处理求Fibonacci数列问题 P124 main() { int i, 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] ); } } 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 规律:下一项是前两项之和