欢迎来到天天文库
浏览记录
ID:45031734
大小:1.31 MB
页数:53页
时间:2019-11-08
《chap2_数组指针》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一维数组二维数组字符数组数组指针引用动态分配与撤消内存数组是一组具有相同数据类型的变量的集合。数组中的每个变量是数组的一个元素,叫做数组元素,它们之间具有固定的先后顺序。通过相同的数组名和不同的下标唯一地确定数组中的元素。只有一个下标的数组称为一维数组,具有两个或两个以上下标的数组称为二维或多维数组Part3数组概念的引出例:输入20个成绩,求平均分,并输出高于平均分的成绩#includevoidmain(){intsc,i;doubleaver=0.0;for(i=0;i<20;i++){cin>>sc;aver+=
2、sc;}aver/=20;cout<>a[i];if(avar3、3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]a[i](i=0-9)(没有a[10],c语言不检测)对数组的操作只能逐个对数组元素进行操作存储:连续存储(占据连续的存储空间),数组名为首地址初始化:inta[10]={1,2,3,4,5,6,7,8,9,10};例:输入n个成绩,求平均分#includevoidmain(){intsc,n,i;doubleaver=0.0;cin>>n;for(i=0;i>sc;aver+=sc;}aver/=n;cout<4、sc[50],n,i;如何输出高于平均分的成绩??{cin>>sc[i];aver+=sc[i];}aver/=n;for(i=0;iaver)cout<5、一轮比较3次第二轮比较2次第三轮比较1次第四轮9854289542859428549285425842548254242452对n个数,则要进行n-1趟扫描,在第i趟扫描中要进行n-i次比较。可以推知:a[0]a[1]a[2]a[3]a[4]“211”:两重循环,一次比较,一次互换n个数要循环比较n-1轮;在每轮中a[j]与a[j+1]进行比较互换(数组元素的下标从0~数组长度-1)第1轮:i=0:下标:j=0….n-2(即n-2-i)第2轮:i=1:下标:j=0….n-3(即n-2-i)第3轮:i=2:下标:j=0….n-4(即n-2-i)6、…第n-2轮:i=n-3:j=01(即n-2-i)第n-1轮:i=n-2:j=0(即n-2-i)for(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的变化范围为?若按从大到小的顺序排列???#includevoidmain(){constintN=5;inti,j,a[N],t;for(i=0;i>a[i7、];for(i=0;ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i=0;i--)if(a[i]>b)a[i+1]=a[i];//后移el8、sebreak;a[i+1]=b;n++;(1)3571218a[0]a[1]a[2]a[3]a[4]a[5]#includevoidmai
3、3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]a[i](i=0-9)(没有a[10],c语言不检测)对数组的操作只能逐个对数组元素进行操作存储:连续存储(占据连续的存储空间),数组名为首地址初始化:inta[10]={1,2,3,4,5,6,7,8,9,10};例:输入n个成绩,求平均分#includevoidmain(){intsc,n,i;doubleaver=0.0;cin>>n;for(i=0;i>sc;aver+=sc;}aver/=n;cout<4、sc[50],n,i;如何输出高于平均分的成绩??{cin>>sc[i];aver+=sc[i];}aver/=n;for(i=0;iaver)cout<5、一轮比较3次第二轮比较2次第三轮比较1次第四轮9854289542859428549285425842548254242452对n个数,则要进行n-1趟扫描,在第i趟扫描中要进行n-i次比较。可以推知:a[0]a[1]a[2]a[3]a[4]“211”:两重循环,一次比较,一次互换n个数要循环比较n-1轮;在每轮中a[j]与a[j+1]进行比较互换(数组元素的下标从0~数组长度-1)第1轮:i=0:下标:j=0….n-2(即n-2-i)第2轮:i=1:下标:j=0….n-3(即n-2-i)第3轮:i=2:下标:j=0….n-4(即n-2-i)6、…第n-2轮:i=n-3:j=01(即n-2-i)第n-1轮:i=n-2:j=0(即n-2-i)for(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的变化范围为?若按从大到小的顺序排列???#includevoidmain(){constintN=5;inti,j,a[N],t;for(i=0;i>a[i7、];for(i=0;ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i=0;i--)if(a[i]>b)a[i+1]=a[i];//后移el8、sebreak;a[i+1]=b;n++;(1)3571218a[0]a[1]a[2]a[3]a[4]a[5]#includevoidmai
4、sc[50],n,i;如何输出高于平均分的成绩??{cin>>sc[i];aver+=sc[i];}aver/=n;for(i=0;iaver)cout<5、一轮比较3次第二轮比较2次第三轮比较1次第四轮9854289542859428549285425842548254242452对n个数,则要进行n-1趟扫描,在第i趟扫描中要进行n-i次比较。可以推知:a[0]a[1]a[2]a[3]a[4]“211”:两重循环,一次比较,一次互换n个数要循环比较n-1轮;在每轮中a[j]与a[j+1]进行比较互换(数组元素的下标从0~数组长度-1)第1轮:i=0:下标:j=0….n-2(即n-2-i)第2轮:i=1:下标:j=0….n-3(即n-2-i)第3轮:i=2:下标:j=0….n-4(即n-2-i)6、…第n-2轮:i=n-3:j=01(即n-2-i)第n-1轮:i=n-2:j=0(即n-2-i)for(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的变化范围为?若按从大到小的顺序排列???#includevoidmain(){constintN=5;inti,j,a[N],t;for(i=0;i>a[i7、];for(i=0;ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i=0;i--)if(a[i]>b)a[i+1]=a[i];//后移el8、sebreak;a[i+1]=b;n++;(1)3571218a[0]a[1]a[2]a[3]a[4]a[5]#includevoidmai
5、一轮比较3次第二轮比较2次第三轮比较1次第四轮9854289542859428549285425842548254242452对n个数,则要进行n-1趟扫描,在第i趟扫描中要进行n-i次比较。可以推知:a[0]a[1]a[2]a[3]a[4]“211”:两重循环,一次比较,一次互换n个数要循环比较n-1轮;在每轮中a[j]与a[j+1]进行比较互换(数组元素的下标从0~数组长度-1)第1轮:i=0:下标:j=0….n-2(即n-2-i)第2轮:i=1:下标:j=0….n-3(即n-2-i)第3轮:i=2:下标:j=0….n-4(即n-2-i)
6、…第n-2轮:i=n-3:j=01(即n-2-i)第n-1轮:i=n-2:j=0(即n-2-i)for(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的变化范围为?若按从大到小的顺序排列???#includevoidmain(){constintN=5;inti,j,a[N],t;for(i=0;i>a[i
7、];for(i=0;ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i=0;i--)if(a[i]>b)a[i+1]=a[i];//后移el
8、sebreak;a[i+1]=b;n++;(1)3571218a[0]a[1]a[2]a[3]a[4]a[5]#includevoidmai
此文档下载收益归作者所有