资源描述:
《Chapter7数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第七章数组一维数组二维数组字符串输入30个数,将它们排序后输出。数组:相同类型数据的有序集合在内存中连续存放用数组名和下标唯一地确定数组元素每个元素都属于同一类型s01229s[0]s[1]s[29]s0、s1、s2、……s29一批相同类型的变量使用同一个数组变量名,用下标来相互区分优点:表述简洁,可读性高便于使用循环结构s01229s[0]s[1]s[29]7.1一维数组7.1.1一维数组的定义和引用1、定义类型名数组名[数组长度]类型名:数组元素的类型数组名:数组变量的名称(数组),标识符数组长度:常量表达式,给定数组的大小inta[10];定义一个含有10个整型元素的数组a
2、inta[10];定义一个含有10个整型元素的数组acharc[200];定义一个含有200个字符元素的数组cfloatf[5];定义一个含有5个浮点型元素的数组f2、数组元素的引用先定义,后使用只能引用单个的数组元素,不能一次引用整个数组数组元素的引用:数组名[下标]下标:整型表达式取值范围:[0,数组长度-1]inta[10];10个元素:a[0]、a[1]、……a[9]下标不要越界,不能使用a[10]定义数组:类型名数组名[数组长度]引用数组元素:数组名[下标]数组元素的使用方法与同类型的变量相同intk,a[10];k=3;a[0]=23;a[k-2]=a[0]+1;sc
3、anf("%d",&a[9]);区分定义数组和引用数组元素定义数组:类型名数组名[数组长度]引用数组元素:数组名[下标]inta[10];a[0]=a[1]=a[9]=0;下标不要越界main(){inta[10];inti;for(i=0;i<10;i++)a[i]=i;for(i=0;i<10;i++)printf("%d",a[i]);}输出:0123456789a[0]a[1]a[9]a0123456789main(){inti;inta[10];for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=0;i<10;i++)printf("%d"
4、,a[i]);printf("");for(i=9;i>=0;i--)printf("%d",a[i]);}输入:12345678910a[0]a[1]a[9]a12345678910输出:12345678910109876543213、程序举例例7.1输入10个数,求和.例7.2用数组计算fibonacci数列的前20个数,并按每行打印5个数的格式输出。1,1,2,3,5,……例7.3输入5个整数,将它们存入数组a中,再输入1个数x,然后在数组中查找x,如果找到,输出相应的下标,否则,输出“NotFound”。程序举例例7.4_1输入10个数,求最小值.例7.4_2输入n(
5、n<10),再输入n个数,求最小值。例7.4_3输入n(n<10),再输入n个数,输出最小值和它所对应的下标。例7.4_4输入n(n<10),再输入n个数,将最小值与第一个数交换,输出交换后的n个数。例7.5输入n(n<10),再输入n个数,用选择法将它们从小到大排序后输出。例7.1求和输入10个数,求和.main(){inti,a[10];longsum;for(i=0;i<10;i++)scanf(“%d”,&a[i]);sum=0;for(i=0;i<10;i++)sum=sum+a[i];printf("%ld",sum);}#include“stdio.h”void
6、main(){inta[10],i;longsum=0;for(i=0;i<10;i++){scanf(“%d”,&a[i]);sum=sum+a[i];}printf("%ld",sum);}用数组计算fibonacci数列的前20个数,并按每行打印5个数的格式输出。1,1,2,3,5,8,13,……分析:用数组计算并存放fibonacci数列的前20个数f[0]=f[1]=1f[n]=f[n-1]+f[n-2]2≤n≤19例7.2计算fibonacci数列main(){inti,fib[20];fib[0]=fib[1]=1;for(i=2;i<20;i++)fib[i]
7、=fib[i-1]+fib[i-2];for(i=0;i<20;i++){printf(“%6d",fib[i]);if((i+1)%5==0)printf(“");}}输入5个整数,将它们存入数组a中,再输入1个数x,然后在数组中查找x,如果找到,输出相应的下标,否则,输出“NotFound”。例7.3查找输入:298969输出:1voidmain(){inti,x,a[5];for(i=0;i<5;i++)scanf(“%d”,&a[i]);scanf(“%d”,&x);