欢迎来到天天文库
浏览记录
ID:39963504
大小:367.00 KB
页数:42页
时间:2019-07-16
《c语言课件第6章数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章数组许建龙xujianlong126@126.comC程序设计内容提要数组类型;向函数传递一维数组和二维数组;常用算法:排序、查找、求最大最小值等;用字符数组存取字符串;使用字符串处理函数处理字符串数组的用处保存大量同类型的相关数据如矩阵运算,表格数据等数组(Array)inta[10];定义一个有10个元素的数组,每个元素的类型均为int使用a[0]、a[1]、a[2]、……、a[9]这样的形式访问每个元素。它们与普通变量没有任何区别系统会在内存分配连续的10个int空间给此数组数组下标可以是整型表达式直接对a的访问,就是访问此数组的首地址a
2、数组首地址a[9]a[8]a[7]a[1]a[0]…数组的定义与初始化数组定义后的初值仍然是随机数,一般需要我们来初始化inta[5]={12,34,56,78,9};inta[5]={0};inta[]={11,22,33,44,55};数组大小最好用宏来定义,以适应未来可能的变化#defineSIZE10inta[SIZE];数组大小定义好后,将永远不变数组的使用数组的下标都是从0开始对数组每个元素的使用与普通变量无异可以用任意表达式作为下标,动态决定访问哪个元素for(i=0;i3、大下标的下标,将访问数组以外的空间。那里的数据是未知的,可能带来严重后果sizeof可以用来获得数组大小数组的特点快速地随机访问一旦定义,不能改变大小只能逐个对数组元素进行操作(字符数组例外)输入方法:inta[10],i;输入第i个数组元素:scanf("%d",&a[i]);输入整个数组元素:for(i=0;i<10;i++)scanf("%d",&a[i]);输出方法:输出第i个数组元素:printf("%d",a[i]);输出整个数组元素:for(i=0;i<10;i++)printf("%d",a[i]);一维数组的输入和输出例6.1兔子生4、崽问题Fibonacci数列1,2,3,5,8,13,21,34,55,89,144,233,…例6.1#include#defineYEAR_MONTH12main(){intf[YEAR_MONTH+1]={0,1,2};intmonth;for(month=3;month<=YEAR_MONTH;month++){f[month]=f[month-1]+f[month-2];}for(month=1;month<=YEAR_MONTH;month++){printf("%dt",f[month]);}printf("su5、m=%d",f[YEAR_MONTH]);}例6.2—打印出最高分及其学生序号从键盘输入学生人数n;从键盘输入所有学生的学号和成绩分别存入数组num和score假设其中的一个学生成绩为最高,同时记录其学号,即令maxScore=score[0]maxNum=num[0];对所有学生成绩进行比较,即for(i=0;imaxScore,则修改maxScore值为score[i],并记录其学号maxNum=num[i];}打印最高分maxScore及其学号maxNum;#include#define6、ARR_SIZE40main(){floatscore[ARR_SIZE],maxScore;intn,i;longmaxNum,num[ARR_SIZE];printf("Pleaseentertotalnumber:");scanf("%d",&n);printf("Pleaseenterthenumberandscore:");for(i=0;i7、[i]>maxScore){maxScore=score[i];maxNum=num[i];}}printf("maxScore=%.0f,maxNum=%ld",maxScore,maxNum);}#include#defineARR_SIZE40floatFindMax(floatarr,intn);main(){floatscore[ARR_SIZE],maxScore;intn,i;printf("Pleaseentertotalnumber:");scanf("%d",&n);printf("Pleaseenterth8、escore:");for(i=0;i
3、大下标的下标,将访问数组以外的空间。那里的数据是未知的,可能带来严重后果sizeof可以用来获得数组大小数组的特点快速地随机访问一旦定义,不能改变大小只能逐个对数组元素进行操作(字符数组例外)输入方法:inta[10],i;输入第i个数组元素:scanf("%d",&a[i]);输入整个数组元素:for(i=0;i<10;i++)scanf("%d",&a[i]);输出方法:输出第i个数组元素:printf("%d",a[i]);输出整个数组元素:for(i=0;i<10;i++)printf("%d",a[i]);一维数组的输入和输出例6.1兔子生
4、崽问题Fibonacci数列1,2,3,5,8,13,21,34,55,89,144,233,…例6.1#include#defineYEAR_MONTH12main(){intf[YEAR_MONTH+1]={0,1,2};intmonth;for(month=3;month<=YEAR_MONTH;month++){f[month]=f[month-1]+f[month-2];}for(month=1;month<=YEAR_MONTH;month++){printf("%dt",f[month]);}printf("su
5、m=%d",f[YEAR_MONTH]);}例6.2—打印出最高分及其学生序号从键盘输入学生人数n;从键盘输入所有学生的学号和成绩分别存入数组num和score假设其中的一个学生成绩为最高,同时记录其学号,即令maxScore=score[0]maxNum=num[0];对所有学生成绩进行比较,即for(i=0;imaxScore,则修改maxScore值为score[i],并记录其学号maxNum=num[i];}打印最高分maxScore及其学号maxNum;#include#define
6、ARR_SIZE40main(){floatscore[ARR_SIZE],maxScore;intn,i;longmaxNum,num[ARR_SIZE];printf("Pleaseentertotalnumber:");scanf("%d",&n);printf("Pleaseenterthenumberandscore:");for(i=0;i7、[i]>maxScore){maxScore=score[i];maxNum=num[i];}}printf("maxScore=%.0f,maxNum=%ld",maxScore,maxNum);}#include#defineARR_SIZE40floatFindMax(floatarr,intn);main(){floatscore[ARR_SIZE],maxScore;intn,i;printf("Pleaseentertotalnumber:");scanf("%d",&n);printf("Pleaseenterth8、escore:");for(i=0;i
7、[i]>maxScore){maxScore=score[i];maxNum=num[i];}}printf("maxScore=%.0f,maxNum=%ld",maxScore,maxNum);}#include#defineARR_SIZE40floatFindMax(floatarr,intn);main(){floatscore[ARR_SIZE],maxScore;intn,i;printf("Pleaseentertotalnumber:");scanf("%d",&n);printf("Pleaseenterth
8、escore:");for(i=0;i
此文档下载收益归作者所有