版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
cin>>a[i][j];for(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];cout<<endl;华南理工大学计算机学院周霭如2025//例4-9
访问二维数组#include
<iostream>
#include
<iomanip>
using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)1
J
2a#include
<iostream>#include
<iomanip>
using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)for(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];cout<<endl;cin>>a[i][j];//例4-9
访问二维数组1
J
2华南理工大学计算机学院周霭如2025a#include
<iostream>#include
<iomanip>
using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)for(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];cout<<endl;cin>>a[i][j];//例4-9
访问二维数组1J
3华南理工大学计算机学院周霭如2025a#include
<iostream>#include
<iomanip>
using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)for(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];cout<<endl;cin>>a[i][j];//例4-9
访问二维数组2
J
0华南理工大学计算机学院周霭如2025a#include
<iostream>#include
<iomanip>
using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)for(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];cout<<endl;cin>>a[i][j];//例4-9
访问二维数组2
J
1华南理工大学计算机学院周霭如2025a#include
<iostream>#include
<iomanip>
using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)for(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];cout<<endl;cin>>a[i][j];//例4-9
访问二维数组2
J
2华南理工大学计算机学院周霭如2025a#include
<iostream>#include
<iomanip>
using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)for(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];cout<<endl;cin>>a[i][j];//例4-9
访问二维数组2
J
3华南理工大学计算机学院周霭如2025a#include
<iostream>#include
<iomanip>
using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i++)cin>>a[i][j];for(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];cout<<endl;for(j=0;j<4;j++)//例4-9
访问二维数组华南理工大学计算机学院周霭如20252
Jafor(j=0;j<4;j++)cin>>a[i][j];for(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];cout<<endl;#include
<iostream>#include
<iomanip>
using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i
++)//例4-9
访问二维数组华南理工大学计算机学院周霭如20253
Ja#include
<iostream>#include
<iomanip>using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)cin>>a[i][j];for
(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];
cout
<<
endl;T
C:\WINDOW5\system32\cmd.exe246813579101112//例4-9
访问二维数组0
J
0华南理工大学计算机学院周霭如2025a#include
<iostream>#include
<iomanip>using
namespace
std;intmain(){int
a[3][4];inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)cin>>a[i][j];for(i=0;i<3;i++){for(j=0;j<4;j++)cout<<setw(5)<<a[i][j];cout<<endl;NC:\WINDOW5\system32\cmd.exe246813579101112请按任意键继续//例4-9
访问二维数组0
J
0华南理工大学计算机学院周霭如2025a2.
以指针方式访问二维数组从一维数组元素的地址关系可知:●数组名代表数组的首地址●
任一数组元素的地址,可以用数组名加偏移量表示
偏移量单位是数组元素的大小地址值a⇔&a[0]
a+1⇔&a[1]a+2⇔&a[2]:a+i⇔&a[i]以上结论可以推广到多维数组,二维数组的每一个元素是同构的一维数组元素值a[0]⇔*aa[1]⇔*(a+1)a[2]⇔*(a+2):a[i]⇔*(a+i)华南理工大学计算机学院周霭如2025a
[0][0]a
[0][1]a[1][0]a
[1][1]a[2][0]a[2][1]*a[0]*(*
a+1)*a[1]*(*(a+1)+1a[0]a[1]*(a+2)a[2]100010081040104810801088aa+1
·a+2
-double
a
[3][5]华南理工大学计算机学院周霭如2025a[0]+1.*a+12.
以指针方式访问二维数组二维数组名a是逻辑上的一个二级指针,a[i]
是一级指针用二维数组名引用基本类型时,应当是二级引用,但不能
直接把二维数组名赋给二级指针变量,因为不管n
维数组,
数组名仅是内存块首地址a[3][5],**p2,*p1;//OK//OK//Error//Error例:intp1=*a;
p1=a[0];p2=a;pl=a;华南理工大学计算机学院周霭如202510001004*a+1⁰201024*(a+1)+2*(a+i)+j1030*(*(a+1)+2)*(*(a+i)+j)第0行第1列元素地址第1行第2列元素
地址第
i
行
第j
列元素地
址
第1行第2列元素的值第i行第j列元素的值2.
以指针方式访问二维数组inta[3][5]的表示形式:&a[0][1]
0]a
[1][1]&a[1][2]&a[i][j]a[1][2]a
[2][1]a[i][j]a[0]+1a[1]+2a[i]+j*(a[1]+2)*(a[i]+j)a
[0][0]a
[0][1]华南理工大学计算机学院周霭如2025●
曲2.
以指针方式访问二维数组/1例4-10#include<iostream>using
namespacestd;int
main(){int
a[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};int*p;for(p=a[0];p<a[0]+15;p++)cout<<*p<<"";cout
<<endl;for(p=*a;p<*a+15;p++)cout<<*p<<"";cout
<<endl;for(inti=0;i<3;i++){for(intj=0;j<5;j++)cout
<<*(a[i]+j)<<"";cout
<<endl;华南理工大学计算机学院周霭如20252.
以指针方式访问二维数组#include<iostream>using
namespace
std;int
main(){inta[3][5]={1,2,3,4,5.6.1,8,9,10,int*p;for
(p=a[09
p<a[0]+15;p++)cout<<*p<<"";cout<<endl;for(
p=*a
p<*a+15;p++)cout<<*p<<"";cout<<endl;for(int
i=0;i<3;i++){for(int
j=0;j<5;j++)cout<<*(a[i]+j)<<"";cout<<endl;//例4-10取第0行元素的首地址华南理工大学计算机学院周霭如20252.
以指针方式访问二维数组/1例4-10#include<iostream>using
namespace
std;int
main(){inta[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};int
*p;for(p=a[0];p<a[0]+15;p++)cout<<*p<<"";
第i
行第j
个元素cout<<endl;for(p=*a;p<*a+15;p++)cout<<*p<<"";cout<<endl;for(inti=0;i<3;i++){for(int
j=0;i<5;j++)cout<4
*(a[i]+j
<<"";cout<<endl;华南理工大学计算机学院周霭如20252.
以指针方式访问二维数组//例4-10#include<iostream>using
namespace
std;int
main()
可以改为
p=a
吗?{int
a[3][5]={1,2,3,4,5.6,1,8,9,10int
*p;for(p=a[0
p<al0]+15;p++)cout<<*p<<";cout<<endl;
No!for(p=*a;
p<*a+15;
a是逻辑上的二级指针,cout<<*p<<"";
不能把a
赋给一级指针变量cout<<endl;for(int
i=0;i<3;i++){for(int
j=0;j<5;j++)cout<<*(a[i]+j)<<"";cout<<endl;华南理工大学计算机学院周霭如20252.
以指针方式访问二维数组#include<iostream>using
namespace
std;int
main(){int
a[3][5]={1,2,3,4,5,67,8,9,int
*p;for
(p=a[0
cp<a[0]+15;p++)cout<<*p<<"
"cout<<endl;for(
p=*a
p<*a+15;p++)cout<<*p<<"";cout<<endl;for(int
i=0;i<3;i++){for(int
j=0;j<5;j++)cout<<*(a[i]+j)<<"";cout<<endl;//例4-10可以改为
p=a[0][0]
吗?No!a[0][0]
是数组元素值
不能赋给指针变量华南理工大学计算机学院周霭如20252.
以指针方式访问二维数组/1例4-10#include<iostream>using
namespace
std;int
main()
可以改为
p=&a[0][0]吗?{int
a[3][5]={1,2,3,4,5,6,7,8,9,int
*p;for(p=a[0
;p<a[0]+15;p++)cout
<<*p<<"";cout<<endl{1,2,3,4,5,6,7,
];p<a[0]+15
<<
"
"
;
.for(p=*a
,p<*a+15;p++)cout<<*p<<"";cout<<endl;for(int
i=0;i<3;i++){for(int
j=0;j<5;j++)cout<<*(a[i]+j)<<"";cout<<endl;}1华南理工大学计算机学院周霭如20252.
以指针方式访问二维数组//例4-10#include<iostream>using
namespace
std;int
main(){inta[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};int
*p;for(p=a
[0];p<a[0]+15;p++)cout<<*p<<”";cout<<endl;
注意for(p=*a;p<*a+15;pt+)
对二维数组不同的处理方式
cout<<*p<<"";cout<<endl;for(int
i=0;i<3;
i++){for(int
j=0;j
<5;j++)cout
<<*(a[i]+j)<<"";cout
<<endl;华南理工大学计算机学院周霭如20252.
以指针方式访问二维数组/1例4-10#include<iostream>using
namespacestd;int
main(){int
a[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};int*p;for(p=a[0];p<a[0]+15;p++)cout<<*p<<"";cout
<<endl;for(p=*a;p<*a+15;p++)cout<<*p<<""
·CNC:\WINDOWs\system32\cmd.exe
一回×cout
<<end
2
3
4
5
6
9
10
11
12
13
14
15for(int
i=1
23
5
6
7
8910
1213
14
15{for(int
1cout<
12
13
14
15cout<<请按任意键继续.0578923461华南理工大学计算机学院周霭如2025华南理工大学计算机学院周霭如20254.4
数组作函数参数数组元素作参数的性质与简单变量相同数组名作参数传递地址数组元素和数组名都可以作为引用参数华南理工大学计算机学院周霭如20254.4.1
向函数传送数组元素//例4-11#include<iomanip>#include<iostream>usingnamespacestd;voidfun(int,int,int);int
main(){inti,a[3]={1,2,3};fun(a[0],a[1],a[2]);for(i=0;i<3;i++)cout<<setw(4)<<a[i];cout
<<endl;}void
fun(int
a,int
b,int
c){a++;b++;c++;cout
<<setw(4)<<a<<setw(4)<<b<<setw(4)<<c<<endl;return;华南理工大学计算机学院周霭如2025fun(
a[0],a[1],a[2]
);for(i=0;i<3;i++)cout
k
setw(4)<<a[i];cout<<endl;void
fun(int
a,int
b,int
c){a++;b++;c++;cout<<setw(4)<<a<<setw(4)<<b<<setw(4)<<c<<endl;return;//例4-11#include<iomanip>#include<iostream>using
namespace
std;void
fun(int,int,int);int
main()传值参数{inti,a[3]={1,2,3};4.4.1
向函数传送数组元素华南理工大学计算机学院周霭如20254.4.1
向函数传送数组元素//例4-11#include<iomanip>#include<iostream>using
namespace
std;void
fun(int,int,int);int
main(){inti,a[3]={1,2,3};fun(a[0],a[1],a[2]);for(i=0;i<3;i++)cout<</setw(4)<<a[i];cout<<endl;b,int
c)```cpp}
;
[2]
)
;++
)
cout
<<
setw(
4
)```b
,
int
c
)<<setw(4)<<a<<setw(4)<<b<<setw(4)<<c<<endl;void
fun(int
a,int
{
a++;b++;c++;coutreturn;}修改局部量华南理工大学计算机学院周霭如2025}//例4-11#include<iomanip>#include<iostream>using
namespace
std;void
fun(int,int,int);int
main(){inti,a[3]={1,2,3};fun(a[0],a[1],a[2]);for(i=0;i<3;i++)cout<<setw(4)<<a[i];cout<<endl;}void
fun(int
a,int
b,int
c)
{
a++;b++;c++;cout
<<setw(4)<<a<<setw(4)<<b<<setw(4)<<c<<endl;return;4.4.1
向函数传送数组元素华南理工大学计算机学院周霭如20254.4.2
数组名作函数参数//例4-12#include<iostream>using
namespace
std;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;}return
m;}int
main(){int
a[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;厂华南理工大学计算机学院周霭如2025return
m;int
main()int
a[10]={1
,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;//例4-12#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n)
{int
m=0;a
Ox0065FDD04for(int
i=0;i<n;i++){m+=*ap;ap++;4.4.2
数组名作函数参数华南理工大学计算机学院周霭如202510return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout
<<
"sum="<<sum(a,10)<<endl;//例4-12#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n)
{int
m=0;a
Ox0065FDD04for(int
i=0;i<n;i++){m+=*ap;ap++;4.4.2
数组名作函数参数华南理工大学计算机学院周霭如2025104.4.2
数组名作函数参数//
例4-12
a#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;return
m;10int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;华南理工大学计算机学院周霭如2025Ox0065FDDOnap4.4.2
数组名作函数参数//例4-12
a#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;return
m;10int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;10
nOx0065FDD0
ap华南理工大学计算机学院周霭如2025Ox0065FDDO4.4.2
数组名作函数参数//例4-12
a#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;return
m;10int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;10
n0x0065FDD0ap华南理工大学计算机学院周霭如2025Ox0065FDD0int
sum(int
ap[],int
n){
int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;10
n0x0065FDD0ap100
m//例4-12#include
<iostream>using
namespace
std;4.4.2
数组名作函数参数华南理工大学计算机学院周霭如2025a
Ox0065FDD0int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;10
n0x0065FDD0ap100
m0
1//例4-12#include
<iostream>using
namespace
std;4.4.2
数组名作函数参数华南理工大学计算机学院周霭如2025a
Ox0065FDD010
n0x0065FDD0ap101
m0
1ap++;return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++)//例4-12#include
<iostream>using
namespace
std;4.4.2
数组名作函数参数{
m+=*ap;华南理工大学计算机学院周霭如2025a
Ox0065FDD0//
例4-12#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n)
{int
m=0;for(int
i=0;i<n;i++){m+=*ap;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;return
m;104.4.2
数组名作函数参数
10
na
Ox0065FDD00x0065FDD4
apap
++;1
m0
1华南理工大学计算机学院周霭如202510
n0x0065FDD4
ap10//
例4-12#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n)
{int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;4.4.2
数组名作函数参数1
m1
1华南理工大学计算机学院周霭如2025a
Ox0065FDD010
n0x0065FDD4
ap10ap++;return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++)//例4-12#include
<iostream>using
namespace
std;4.4.2
数组名作函数参数{
m+=*ap;3
m1
i华南理工大学计算机学院周霭如2025a
Ox0065FDD04.4.2
数组名作函数参数//例4-12
a#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;10int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;10
nOx0065FDD00x0065FDD8
apap
++;华南理工大学计算机学院周霭如2025return
m;31mi4.4.2
数组名作函数参数//例4-12
a
Ox0065FDD0#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;10
n0x0065FDD8
ap103
m2
1华南理工大学计算机学院周霭如202510
n0x0065FDD8
ap10ap++;return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++)//例4-12#include
<iostream>using
namespace
std;4.4.2
数组名作函数参数{m+=*ap;6
m2
1华南理工大学计算机学院周霭如2025a
Ox0065FDD04.4.2
数组名作函数参数//例4-12
a#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;10
nOx0065FDD00x0065FDDCapint
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;return
m;10ap
++;6
m2
1华南理工大学计算机学院周霭如2025int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;//例4-12#include
<iostream>using
namespace
std;0x0065FDF8
ap55
m10
i4.4.2
数组名作函数参数return
m;华南理工大学计算机学院周霭如2025a
Ox0065FDD010
n10//例4-12#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n)
{int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;a
Ox0065FDD047int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout
<<
"sum="<<sum(a,10)<<endl;10国“℃:Atest\Debug{Cpp1.
exe”sum=55Press
any
key
to
continue4.4.2
数组名作函数参数华南理工大学计算机学院周霭如2025return
m;//
例4-12#include
<iostream>using
namespace
std;int
sumint
aplD,
int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;return
m;a
Ox0065FDD013形参仅仅是一个普通指针等价于
int
*
ap8int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;4.4.2
数组名作函数参数华南理工大学计算机学院周霭如20250×0065FDD0ap1
04.4.2
数组名作函数参数//
例4-12a
Ox0065FDD0#include
<iostream>using
namespace
std;int
sum(int
ap[]
,int
n){int
m=0;修改指针for(int
i=0;i<n;i++
是合法操作{m+=*ap;ap
++;return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;0×0065FDD0ap10华南理工大学计算机学院周霭如20254.4.2
数组名作函数参数//
例4-12a
Ox0065FDD0#include
<iostream>using
namespace
std;int
sum(int
ap[]
,int
n){int
m=0;修改指针for(int
i=0;i<n;i++
是合法操作{m+=*ap;ap
++;return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;0x0065FDD4ap610华南理工大学计算机学院周霭如20254.4.2
数组名作函数参数//
例4-12a
Ox0065FDD0#include
<iostream>using
namespace
std;int
sum(int
ap[],int
n){int
m=0;for(int
i=0;i<n;i++){m+=*ap;ap++;但
a
++return
m;
是非法操作int
main({int(
a[10
1={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;10x0065FDD4ap10华南理工大学计算机学院周霭如20254.4.2
数组名作函数参数//
例4-12a
Ox0065FDD0#include
<iostream>using
namespace
std;int
sum
(const
int
ap[],int
n){int
m=0;10x0065FDD4ap10i=0;i<n;i++)意义是什么?a[10]={1,2,3,4,5,6,7,8,9,10};for(int{m+=*ap;ap++;return
m;int
main(){intcout<<"sum="<<sum(a,10)<<endl;华南理工大学计算机学院周霭如2025只读访问return
m;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};cout<<"sum="<<sum(a,10)<<endl;4.4.2
数组名作函数参数//例4-12a
Ox0065FDD0#include
<iostream>using
namespace
std;int
sum
(const
{int
m=0;Qfor(int{m+=*ap;ap++;n)对数组元素int
ap[],inti=0;i<n;i++)1610华南理工大学计算机学院周霭如20250x0065FDD4
apint
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};double
b[10]={0.1,0.2,0.3,0.4,0.5,0.6,char
c[10]={'a','b','c','d','e','f,'g','h','i,j//例4-13
分析程序的输出结果#include<iostream>using
namespace
std;void
test(intap[],doublebp[],charcp[])N
C:\WINDOW5\system32cmd.exesizeof
(b)sizeof
(b
p请按任意键继续.cout<<"sizeof(a)="<<cout<<"sizeof(b)="<<cout<<"sizeof(c)="<<
test(
a
,b,c
);{cout<<"sizeof(ap)="<<cout<<"sizeof(bp)="<<cout<<"sizeof(cp)="<<sizeol
(a)<<endl;s1zeoi(b
)<<endl;sizeoiic1
<<endl;<<endl;<<endl;<<endl;华南理工大学计算机学院周霭如2025int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};double
b[10]={0.1,0.2,0.3,0.4,0.5,0.6,char
c[10]={'a','b','c','d','e','f,'g','h','i,jN
C:\WINDOW5\system32cmd.exesizeof
(b)sizeof
(b
p请按任意键继续.#include<iostream>using
namespace
std;void
test(intap[],doublebp[],charcp[])cout<<"sizeof(a)="<<cout<<"sizeof(b)="<<cout<<"sizeof(c)="<<
test(
a
,b,c
);{cout<<"sizeof(ap)="<<cout<<"sizeof(bp)="<<cout<<"sizeof(cp)="<<sizeol(a
)<<endl;sizeof(b)
<<endl;sizeot
ic1<<endl;<<endl;<<endl;<<endl;//例4-13
分析程序的输出结果华南理工大学计算机学院周霭如20250x0065FDD4
ap#include<iostream>using
namespace
std;void
test(int
ap[],double
bp[],char
cp[]){cout<<"sizeof(ap)="K
sizeof
(ap)
<endl;cout<<"sizeof(bp)="<<sizeof(bp)
<<endl;cout<<"sizeof(cp)="<<
sizeof(cp)
<<endl;int
main(){inta[10]={1,2,3,4,5,6,7,8,9,10};double
b[10]={0.1,0.2,0.3,0.4,0.5,0.6,charc[10]={'a','b','c','d','e','f,'g,'h','i,jcout<<"sizeof(a)="≤sizeof
(a)×<endl;cout<<"sizeof(b)="<<
sizeof(b)<<endl;cout<<"sizeof(c)="<<sizeof(c)<<endl;test(
a,
b,c);sizeof(int*)0x0065FDD4
apsizeof(int[10])CNC:\WINDOWS\system32cmd.exe
si
zeof
(
a
)sizeof
(b)sizeof
(b
p请按任意键继续.//例4-13
分析程序的输出结果华南理工大学计算机学院周霭如2025charc[10]={'a','b','c','d','e','f,'g','h','i,jsizeof
(b)=cout<<"sizeof(a)="<<sizeof(a)<<endl;cout<<"sizeof(b)="<<sizeof(b)<<endl;cout<<"sizeof(c)="<<sizeof(c)<<endl;请按任意键继续.test(a,b,c);#include<iostream>using
namespace
std;void
test
(int*
ap,
double*bp,char*cp){cout<<"sizeof(ap)="<<sizeof(ap)<<endl;cout<<"sizeof(bp)="<<sizeof(bp)<<endl;cout<<"sizeof(cp)="<<sizeof(cp)<<endl;int
main(){
int*
a={1,2,3,4,5,6,7,8,9,10};double
b[10]={0.1,0.2,0.3,0.4,0.5,0.6,
CNC:\WINDOWS\system32\cmd.exe有区别吗?可以吗?//例4-13
分析程序的输出结果华南理工大学计算机学院周霭如2025int
main(){
int*
a={1,2,3,4,5,6,7,8,9,10};doubleb[10]={0.1,0.2,0.3,0.4,0.5,0.6,charc[10]={'a','b','c','d','e','f,'g','h','i,'jcout<<"sizeof(a)="<<sizeof(a)<<endl;cout<<"sizeof(b)="<<sizeof(b)<<endl;cout<<"sizeof(c)="<<sizeof(c)<<endl;test(a,b,c);#include<iostream>using
namespace
std;
Okvoid
test
(int*
ap,
double*bp,char*cp){cout<<"sizeof(ap)="<<sizeof(ap)<<endl;cout<<"sizeof(bp)="<<sizeof(bp)<<endl;cout<<"sizeof(cp)="<<sizeof(cp)<<endl;N
C:\WINDOW5\system32\cmd.exe
sizeof
(a):40sizeof
(
b)=80请按任意键继续.//例4-13
分析程序的输出结果华南理工大学计算机学院周霭如20254.4.3
应用举例数据排序是指对数据按关键字大小重新整理按照排序的算法、时间空间效率,有许多种排序法
本节讨论两种简单排序法:选择排序法
冒泡排序法华南理工大学计算机学院周霭如20251.
选择排序法算法分析:按降序排列若一组整数放在数组a[0],a[1],……,a[n-1]中,第一趟在a[0]~a[n-1]
找出最大值,放在a[0];第二趟在a[1]~a[n-1]
找出最大值,放在a[1];依此类推,直到从a[n-2]和a[n-1]之中找最大值华南理工大学计算机学院周霭如20251.
选择排序法算法描述:for(i=0;i<n-1;i++)*从a[j]到a[n-1]中找最大元素a[t];
把
a[t]
与
a[i]交换*
细化寻找最大元素算法:每一趟寻找中,设变量t,记录当前最大元素下标:for(j=i+1;j<n;j++)if(a[j]>a[t])t=j;华南理工大学计算机学院周霭如20251.
选择排序法for(i=0;i<n-1;i++)
//n=4{t=i;for(j=i+1;j<n;j++)if(a[j]>a[t])t=j;把a
[
t]
与a[i]交换}4938659776ta[0
]a[0]a[0]a[1]
a[2]
a[3]a[4]a[1]a[1]华南理工大学计算机学院周霭如2025<:j11.
选择排序法for(i=0;i<n-1;i++)
//n=4{t=i;for(j=i+1;j<n;j++)if(a[jl>a[t])
t=j;把a
[
t]与
a[i]
交换}4938659776j
t2
2a[0]a[1]
a[2]
a[3]a[4]a[2]a[2]a[0]a[0]华南理工大学计算机学院周霭如2025>:101.
选择排序法for(i=0;i<n-1;i++){t=i;for(j=i+1;j<n;j++)
if(a[jl>a[t])把a
[
t]与
a[i]
交换
}//n=4t=j;1jt4938659776a[0]a[1]
a[2]
a[3]a[4]a[3]a[3]a[2]a[2]华南理工大学计算机学院周霭如2025>:1.
选择排序法for(i=0;i<n-1;i++)
//n=4{t=i;for(j=i+1;j<n;j++)if(a[jl>a[t])
t=j;把a
[
t]与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业委托代理合同范本
- 腹腔感染与脓毒症
- 审计专业技术资格(初级)重点难点突破(完整版)
- 精算师考试经济学基础测试(含答案)
- 计算机技术与软件专业技术资格(中级)综合能力题库(完整版)
- 生猪屠宰及食品加工和进口猪肉建设项目可行性研究报告模板-备案审批
- 2026 年山洪逃生正确方向科普知识宣讲
- 2026 年大学秋季新生开学军训“严守军训纪律展现青年风采”
- 人工智能驱动的银行合规监管技术
- 2026年铁路道钉行业技术分析报告
- 会计管理内部控制制度
- 2026年全国初中物理知识竞赛试卷及答案(共3套)
- 《2025年宁夏社区工作者招聘考试高频考点试题解析》
- 村级报账员业务培训课件
- 人工智能赋能乡村治理的实践逻辑、现实困境与优化路径
- 2026年区分观点与事实基础练习含答案
- 光模块行业2026年市场需求与技术演进趋势分析
- 服装质检培训课件模板
- 小学高年级学生习作修改的现状、困境与突破路径研究
- 2026公务员考试时事政治题与答案
- 全国内部审计数智化转型发展研究报告
评论
0/150
提交评论