版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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
提交評論