资源描述:
《谭浩强 C语言程序设计教程(由曾怡视频修改) 第7章 数组课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章数组数组的基本概念一维数组的定义与引用二维数组的定义与引用字符数组的定义与引用4.起始下标从0开始,最大下标值为数组元素个数减一;a[i]的地址:第1元素的地址+i*sizeof(基本类型)如上例:第4个元素(下标为3)的地址=1000+3*2)例:读程序/*文件名:ex070010.cpp*/#includeintmain(void){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i<=0;i--)printf("%d",a[i]);printf(“”);return0;}01234567899876543
2、210下标从0开始最大下标为数组元素个数减一数组元素的下标常用循环变量来控制/*文件名:ex070020*/#includeintmain(void){inta[5]={1,2,3,4,5};intb[5]={1,2,3};intc[]={1,2,3,4,5};staticintd[5];inte[5];inti;for(i=0;i<5;i++)printf(“%d”,a[i]);printf(“”);for(i=0;i<5;i++)printf(“%d”,b[i]);printf(“”);for(i=0;i<5;i++)printf(
3、“%d”,c[i]);printf(“”);for(i=0;i<5;i++)printf(“%d”,d[i]);printf(“”);for(i=0;i<5;i++)printf(“%d”,e[i]);printf(“”);return0;}例数组的初始化/*文件名:ex070030*/#includeintmain(void){inti;longintf1=1,f2=2;printf(“%16ld%16ld”,f1,f2);for(i=2;i<=10;i++){f1=f1+f2;f2=f1+f2;printf(“%16ld%16l
4、d”,f1,f2);if(i%2==0)printf(“”);}return0;}例7-3用数组求Fibonacci数列问题F1=1;F2=2;Fn=Fn-1+Fn-2(n>=3)F1=1;F2=2;Fn=Fn-1+Fn-2(n>=3)/*文件名:ex070031*/#includeintmain(void){inti;staticintF[20]={1,2};for(i=2;i<=20;i++)F[i]=F[i-1]+F[i-2];for(i=0;i<=20;i++){if(i%4==0)printf("");printf("%1
5、6ld",F[i]);}return0;}F[i]=F[i-1]+F[i-2]i=2~20算法复杂,占内存小算法简单,占内存大#defineN5#includeintmain(void){inti,sum=0,high=0,score;floataverage;printf(“inputeveryone‘sscore:”);for(i=1;i<=N;i++){scanf(“%d”,&score);sum+=score;if(score>high)high=score;}average=(float)sum/N;printf(“avera
6、ge=%ft”,average);printf(“highest=%d”,high);return0;}例7-4统计全班某门功课期末考试的平均分数和最高分数(设全班人数为30人)用简单变量实现/*文件名:ex070040*/#defineN30#includeintmain(void){inti,sum=0,high,score[N];floataverage;printf("inputeveryone‘sscore:");for(i=0;i7、;ihigh)high=score[i];}average=(float)sum/N;printf("average=%ft",average);printf("highest=%d",high);return0;}用数组实现/*文件名:ex070041*/for(high=0,i=0;ihigh)high=sco