# include≤ stdio. h> int maino 887654321E d int i, a[101; for(i=0i<=9++) a[il for(i=9i>=0;i-) printf( %/od aldI printf( \ n"i 先输出a9],最 后输出a[] return 0i a[oja1a2]a[3]a[4]a]a[6la7]a[8]a9] 0123456789
#include <stdio.h> int main() { int i,a[10]; for (i=0; i<=9;i++) a[i]=i; for(i=9;i>=0; i--) printf("%d ",a[i]); printf("\n"); return 0; } 先输出a[9],最 后输出a[0] 0 1 2 3 4 5 6 7 8 9 a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]
613一维数组的初始化 >在定义数组的同时,给各数组元素赋值 inta[10]={0123456789} >inta[10]={01234}相当于 inta[10]={012340,0,0,0,0} >inta[10]={000,0,0,0,0,0,0,0}相当于 inta[10]={0}; inta[5]={12345}可写为 inta[]={12345}
6.1.3一维数组的初始化 ➢在定义数组的同时,给各数组元素赋值 ➢ int a[10]={0,1,2,3,4,5,6,7,8,9}; ➢ int a[10]={0,1,2,3,4};相当于 int a[10]={0,1,2,3,4,0,0,0,0,0}; ➢ int a[10]={0,0,0,0,0,0,0,0,0,0};相当于 int a[10]={0}; ➢ int a[5]={1,2,3,4,5};可写为 int a[ ]={1,2,3,4,5};
614一维数组程序举例 例62用数组处理求 Fibonacci数列问题 >解题思路: ◆例58中用简单变量处理的,缺点不能在内存 中保存这些数。假如想直接输出数列中第25 个数,是很困难的。 ◆如果用数组处理,每一个数组元素代表数列中 的一个数,依次求出各数并存放在相应的数组 元素中
6.1.4一维数组程序举例 例6.2 用数组处理求Fibonacci数列问题 ➢解题思路: ◆例5.8中用简单变量处理的,缺点不能在内存 中保存这些数。假如想直接输出数列中第25 个数,是很困难的。 ◆如果用数组处理,每一个数组元素代表数列中 的一个数,依次求出各数并存放在相应的数组 元素中
# include≤ stdio. h> int main( d int ii int f[20]= 1,13i for(ⅰ=2;<20;i++) f[i]=f[i-2]+f[i-1] for(i=0/;<20i++) if(i%05==0 printf( \n; printf%/o12d"f[iD; 1 2 3 5 8 13 21 34 55 89 144 233 377 618 987 1597 2584 4181 6765
#include <stdio.h> int main() { int i; int 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]); } printf("\n"); return 0; }
例63有10个地区的面积,要求对它们 按由小到大的顺序排列。 解题思路: ◆排序的规律有两种:一种是“升序”,从小到 大;另一种是“降序”,从大到小 ◆把题目抽象为:“对n个数按升序排序” ◆采用起泡法排序
例6.3 有10个地区的面积,要求对它们 按由小到大的顺序排列。 ➢解题思路: ◆排序的规律有两种:一种是“升序”,从小到 大;另一种是“降序”,从大到小 ◆把题目抽象为:“对n个数按升序排序” ◆采用起泡法排序