欢迎来到天天文库
浏览记录
ID:48200392
大小:391.00 KB
页数:58页
时间:2020-01-15
《vc++程序设计5.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数组与基本算法第四章一维数组二维数组字符数组C++程序设计上机(6)要求本章授课内容§4-1一维数组一、一维数组数组的定义二、一维数组数组的存储结构三、数组元素的引用形式四、一维数组的初始化六、一维数组程序设计举例(算法)五、一维数组的输入和输出返回数组概念的引出在科学计算和数据处理中,要用到成批数据,这些数据类型相同,且彼此间存在一定的顺序关系数组可以表现多种逻辑关系的数据形式。一维数组a[0]a[1]a[2]a[3]a[4]a[5]数列583296数组由一组具有同一数据类型的变量有序集合。例如:inta[10];
2、数组名常量表达式类型说明一、一维数组的定义格式:数据类型数组名[常量表达式];inta[10];数组名命名规则同标识符intn;cin>>n;inta[n];…..可以使用宏定义:#include#defineN10voidmain(){…..inta[N];…..}常量表达式中不能有变量下标从0开始,没有a[10];常量表达式的值为元素的个数错误二、一维数组的存储结构a数组首地址a[9]a[8]a[7]a[1]a[0]…一个数组的所有元素都是连续存储的数组元素为:a[0],a[1],a[2]
3、…..a[9]inta[10];所占空间为:类型空间*元素个数三、数组元素的引用形式数组元素的引用:数组名[下标]a[0]=a[2]+a[4]*2240inta[10];a[0]=2;一般不能引用整个数组inta[10],b[10];a=b;下标inta[5]={1,2,3,4,5};四、一维数组的初始化对数组进行初始化对static数组赋初值,系统为之初始化,若为数值型,则初始化为0,字符型则初始化为‘ ’数据与元素个数相同,可省略个数inta[]={1,2,3,4,5};例如:输入n个成绩,求平均分(书P69页
4、,例4.2)#includevoidmain(){intsc,n,i;floataver=0.0;cin>>n;for(i=0;i>sc;aver+=sc;}aver/=n;cout<>sc[i];aver+=sc[i];}aver/=n;for(i=0;iaver)cout<5、例外)输入方法:inta[10],i;输入第i个数组元素:cin>>a[i];输入整个数组元素:for(i=0;i<10;i++)cin>>a[i];输出方法:输出第i个数组元素:cout<voidmain(){inti;staticintf[20]={1,1};for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1]6、;for(i=0;i<20;i++){if(i%5==0)cout<<“”;cout<<“t”<7、2524比较4次第一轮比较3次第二轮比较2次第三轮比较1次第四轮9854289542859428549285425842548254242452对n个数,则要进行n-1趟扫描,在第i趟扫描中要进行n-i次比较。可以推知:“211”:两重循环,一次比较,一次互换n个数要循环比较n-1轮;在每轮中a[j]与a[j+1]进行比较互换(数组元素的下标从0~数组长度-1)第1轮比较:i=0:j=0….n-2第2轮比较:i=1:j=0….n-3第2轮比较:i=2:j=0….n-4…第n-2轮比较:i=n-3:j=0…1第n-1轮8、比较:i=n-2:j=0for(i=0;i<=n-2;i++)//ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}若为a[j]与a[j-1]的比较互换,则j的变化范围为?0~n-1-i/*排序*/for(i=0;i
5、例外)输入方法:inta[10],i;输入第i个数组元素:cin>>a[i];输入整个数组元素:for(i=0;i<10;i++)cin>>a[i];输出方法:输出第i个数组元素:cout<voidmain(){inti;staticintf[20]={1,1};for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1]
6、;for(i=0;i<20;i++){if(i%5==0)cout<<“”;cout<<“t”<7、2524比较4次第一轮比较3次第二轮比较2次第三轮比较1次第四轮9854289542859428549285425842548254242452对n个数,则要进行n-1趟扫描,在第i趟扫描中要进行n-i次比较。可以推知:“211”:两重循环,一次比较,一次互换n个数要循环比较n-1轮;在每轮中a[j]与a[j+1]进行比较互换(数组元素的下标从0~数组长度-1)第1轮比较:i=0:j=0….n-2第2轮比较:i=1:j=0….n-3第2轮比较:i=2:j=0….n-4…第n-2轮比较:i=n-3:j=0…1第n-1轮8、比较:i=n-2:j=0for(i=0;i<=n-2;i++)//ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}若为a[j]与a[j-1]的比较互换,则j的变化范围为?0~n-1-i/*排序*/for(i=0;i
7、2524比较4次第一轮比较3次第二轮比较2次第三轮比较1次第四轮9854289542859428549285425842548254242452对n个数,则要进行n-1趟扫描,在第i趟扫描中要进行n-i次比较。可以推知:“211”:两重循环,一次比较,一次互换n个数要循环比较n-1轮;在每轮中a[j]与a[j+1]进行比较互换(数组元素的下标从0~数组长度-1)第1轮比较:i=0:j=0….n-2第2轮比较:i=1:j=0….n-3第2轮比较:i=2:j=0….n-4…第n-2轮比较:i=n-3:j=0…1第n-1轮
8、比较:i=n-2:j=0for(i=0;i<=n-2;i++)//ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}若为a[j]与a[j-1]的比较互换,则j的变化范围为?0~n-1-i/*排序*/for(i=0;i
此文档下载收益归作者所有