资源描述:
《2008c语言讲义第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章数组1上机题1.P1296.112.P1527.23.将数组初值设置为:1,3,56,34,45,69,54,78,44,23将数组中所有能被3整除的数输出到屏幕上。4.定义一个具有100个元素的整型数组,从键盘输入数据,求这些数据的累加和,直至从键盘输入的数据为0结束。2上机题P152页:1.7.12.7.4数组赋初值inta[6]={1,3,5,7,9};插入43.7.64.输入一行单词,将每个单词的首字母变成大写。例:输入:wearestudent.输出:WeAreStudent.3一维数
2、组的定义和引用数组是同一类型的一组值(10个char或15个int),在内存中顺序存放。整个数组共用一个名字,而其中的每一项又称为一个元素。一、定义方式:类型说明符数组名[常量表达式];inta[4];/*表明a数组由4个int型元素组成*/定义类型数组名称元素个数4inta[4];/*表明a数组由4个int型元素组成*/其元素分别为:a[0],a[1],a[2],a[3]其序号从0开始。若存放首地址为2000H,则在内存中为:a[3]a[2]a[1]a[0]2008H2006H2004H2002H2
3、000HC语言不允许对数组的大小作动态的定义,即数组的大小不能是变量,必须是常量。必须是常数5如果要根据不同的数值改变数组的大小,可用常量表达式。如:#defineSIZE50voidmain(void){intart[SIZE];......}6二、一维数组元素的引用数组必须先定义,具体引用时(赋值、运算、输出)其元素等同于变量。voidmain(void){inti,a[10];for(i=0;i<10;i++)a[i]=i;for(i=9;i>=0;i--)printf("%dt",a[i])
4、;printf("");}输出:9__8__7__6__5__4__3__2__1__0定义赋值输出i=0,a[0]=0i=1,a[1]=1aa[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]012i=2,a[2]=23456789i=9,a[9]=97三、一维数组的初始化在定义数组的同时给数组元素赋值。注意:1、对数组中的一部分元素列举初值,未赋值的部分是0。inta[10]={0,1,2,3,4,5};2、不能给数组整体赋值,只能一个一个地赋值。inta[10]=
5、{0,1,2,.....,9};非法inta[10]={0,1,2,3,4,5,6,7,8,9};inta[10]={0,1,2,3,4,5,0,0,0,0};83、可以用inta[]={0,1,2,3,4,5,6,7,8,9};给数组赋值,编译器会自动计算出内的元素项数,并将数组定义为该长度。4、用局部static或全局定义的数组不赋初值,系统均默认其为‘ ’。staticinta[10];(即存储在静态数据区中的数组其元素默认为0)数组在内存中顺序存放,第一个元素位于地址的最低端。0000000
6、000a9求Fibonacci数列:1,1,2,3,5,8,......的前20个数,即F1=1(n=1)F2=1(n=2)Fn=Fn-1+Fn-2(n>=3)2113853211....f[7]f[6]f[5]f[5]f[4]f[3]f[2]f[1]f[0]f[i]=f[i-1]+f[i-2]voidmain(void){inti;intf[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
7、("");printf("%dt",f[i]);}}10下面程序的运行结果是:voidmain(void){inta[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf("%dt",a[i]);}}ia[i]3440-4随机a[5]a[4]a[3]a[2]a[1]a[0]输出:-404431-42034445311将一个数组中的值按逆序重新排放。例如,原来顺序为8,6,5,4,3,2,1排放后应为:1,2,3,4,5,6,8将数组中指定的数据
8、删除,如原数组为:1,2,3,4,5,6,8。删除4后应为:1,2,3,5,6,812排序算法用起泡法对6个数排序(由小到大)将相邻的两个数两两比较,将小的调到前头。985420895420859420854920854290854209第一趟循环5次584209548209542809第二趟循环4次854209543089543089453089435089430589第三趟循环3次13430589340589304589304589第四趟循环2次03