程序设计初步数组611.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:78 大小:1.1MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

程序设计初步数组611.ppt

程序设计初步数组611.ppt

预览

免费试读已结束,剩余 68 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第六章问题:给一组数排序,这组数该如何存放呢本章要点6.1数组的概念1.一维数组的定义格式为:类型说明符数组名[常量表达式];例如:inta[10];说明:1.数组名必须是合法的标识符2.在定义数组时,必须指定数组大小3.数组大小必须是常量或常量表达式例如:intn;scanf(“%d″,&n);/*在程序中临时输入数组的大小*/inta[n];注意:区分引用时下标和定义时大小是不一样的!!例如∶inta[10];t=a[6];2.一维数组元素引用的程序实例对数组元素初始化的实现方法:3.如果想使一个数组中全部元素值为0,可以写成:inta[10]={0,0,0,0,0,0,0,0,0,0};或inta[10]={0};例6.2:用数组来处理求Fibonacci数列问题。for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<20;i++){if(i%5==0)printf(″\n″);printf(″%12d″,f[i])}/*For循环结束*/}/*程序结束*/例6.3:输入10个数,用起泡法对这10个数排序(由小到大)。第二趟比较程序流程图如下:程序实例6.3:#include<iostream.h>voidmain(){inta[100];inti,j,t,n;cout<<″请读入n:″<<endl;cin>>n;cout<<“请读入n个整数:”<<endl;for(i=0;i<n;i++)cin>>a[i];cout<<endl;for(j=0;j<n-1;j++)for(i=0;i<n-1-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}cout<<″thesortednumbers:″<<endl;for(i=0;i<n;i++)cout<<a[i];cout<<endl;}/*程序结束*/例6.4:从键盘上输入n个整数,请用选择法进行排序。6.2.5数组作为函数参数例6.5有两个数组a和b,各有10个元素,将它们对应地逐个相比(即a[0]与b[0]比,a[1]与b[1]比……)。如果a数组中的元素大于b数组中的相应元素的数目多于b数组中元素大于a数组中相应元素的数目(例如,a[i]>b[i]6次,b[i]>a[i]3次,其中i每次为不同的值),则认为a数组大于b数组,并分别统计出两个数组相应元素大于、等于、小于的次数。#include<iostream.h>voidmain(){intlarge(intx,inty);/*函数声明*/inta[10],b[10],i,n=0,m=0,k=0;cout<<″enterarraya:″<<endl;for(i=0;i<10;i++)cin>>a[i];cout<<″enterarrayb∶″<<endl;for(i=0;i<10;i++)cin>>b[i];for(i=0;i<10;i++){if(large(a[i],b[i])==1)n=n+1;elseif(large(a[i],b[i])==0)m=m+1;elsek=k+1;}cout<<“两个数组相应元素大于、等于、小于的次数分别为”<<n<<““<<m<<““<<k<<endl;}large(intx,inty){intflag;if(x>y)flag=1;elseif(x<y)flag=-1;elseflag=0;return(flag);}7.7.2数组名作函数参数#include<iostream.h>voidmain(){floataverage(floatarray[10]);/*函数声明*/floatscore[10],aver;inti;cout<<″input10scores:″<<endl;for(i=0;i<10;i++)cin>>score[i];aver=average(score);cout<<″averagescoreis″<<aver<<endl;}floataverage(floatarray[10]){inti;floataver,sum=arrar[0];for(i=1;i<10;i++)Sum=sum+array[i];aver=sum/10;return(aver);}例6.7编写一个函数,用来分别求数组score_1和数组score_2各元素的平均值。#include<iostream.h>voidmain(){floataverage(floatarray[],intn)floatscore_1