易語(yǔ)言數(shù)組累加計(jì)算 javascript日常編程中如何正確使用循環(huán)語(yǔ)句?
javascript日常編程中如何正確使用循環(huán)語(yǔ)句?javascript的循環(huán)方法有很多,但是每種循環(huán)方法都有自己的使用場(chǎng)景,所以要適當(dāng)使用。循環(huán)for循環(huán)一般用于遍歷一個(gè)簡(jiǎn)單的數(shù)組,然后使用數(shù)組的值
javascript日常編程中如何正確使用循環(huán)語(yǔ)句?
javascript的循環(huán)方法有很多,但是每種循環(huán)方法都有自己的使用場(chǎng)景,所以要適當(dāng)使用。
循環(huán)
for循環(huán)一般用于遍歷一個(gè)簡(jiǎn)單的數(shù)組,然后使用數(shù)組的值執(zhí)行一系列操作。for循環(huán)可以通過(guò)
中斷以終止此循環(huán)。
在…里...循環(huán)
循環(huán)主要用于遍歷對(duì)象(當(dāng)然數(shù)組也可以)。如果操縱loop的值,會(huì)改變?cè)瓉?lái)的數(shù)組,需要注意。
forEach循環(huán)主要用于遍歷數(shù)組對(duì)象,在不改變?cè)瓟?shù)組值的情況下對(duì)每一項(xiàng)進(jìn)行操作,但ForEach循環(huán)不能通過(guò)break終止循環(huán)。它也沒(méi)有辦法停止循環(huán)。方法通常不返回值,只用于操作數(shù)據(jù)。
map方法依次對(duì)數(shù)組的所有成員調(diào)用一個(gè)函數(shù),根據(jù)函數(shù)的結(jié)果返回一個(gè)新的數(shù)組。如果需要返回值,通常使用方法。
方法的參數(shù)是一個(gè)函數(shù),所有數(shù)組成員依次執(zhí)行函數(shù),返回結(jié)果的成員組成一個(gè)新的數(shù)組返回。此方法不會(huì)更改原始數(shù)組。
(),每隔()
它們接受一個(gè)函數(shù)作為參數(shù),所有數(shù)組成員依次執(zhí)行該函數(shù),返回一個(gè)布爾值。有的方法,只要一個(gè)數(shù)組成員返回真,最后返回真,每個(gè)方法都要求每個(gè)數(shù)組成員的返回值都是真的,這個(gè)方法的返回值也是真的。
(),reduc
三階矩陣乘三階矩陣的例題?
:的例子
輸入矩陣的行和列,分別輸入兩個(gè)矩陣,輸出矩陣相乘的結(jié)果。
#includebits/stdc。h
使用命名空間std
int main(){
int a,b,c;
Cout,請(qǐng)輸入兩個(gè)矩陣的行和列,:e ndl;
cinabc//分別輸入第一個(gè)矩陣的行,第二個(gè)矩陣的列,第二個(gè)矩陣的列。
int X[a][b],Y[b][c],Z[a][c];//打開三個(gè)二維數(shù)組存儲(chǔ)矩陣,注意乘法結(jié)果的行列值。
Cout請(qǐng)輸入第一個(gè)矩陣:e ndl;
for(int i0;ia;I)矩陣{//的行
for(int j0;JB;J ){ //矩陣的列
cinX[I][j];
}
}
Cout請(qǐng)輸入第二矩陣:e ndl;
for(int i0;IB;I)矩陣{//的行
for(int j0;JC;J ){ //矩矩陣的列
cinY[I][j];
}
}
memset(Z,0,sizeof(Z));//將二維數(shù)組z初始化為0。
//int temp 0;
cout矩陣相乘的結(jié)果是:endl;
for(int i0;ia;i ){
for(int j0;JC;j ){
for(int k0;kb;k ){
Z[I][j]Z[I][j]X[I][k]* Y[k][j];//行和列的乘積和就是對(duì)應(yīng)的結(jié)果值。
//temptemp X[I][k]* Y[k][j];
}
coutZ[I][j];//計(jì)算一后輸出。
//cout temp;
//temp 0;
}
coutendl//計(jì)算完一列后輸出換行符。
}
返回0;
}
//這個(gè)程序也可以直接將結(jié)果累加到temp中輸出,而不需要開發(fā)二維數(shù)組矩陣來(lái)存儲(chǔ)結(jié)果。
//輸出后將temp中的值重置為0。
一個(gè)
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
四十二個(gè)
43
一個(gè)
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
四十二個(gè)
43
請(qǐng)注意memset函數(shù):
Memset函數(shù)用于初始化指定的內(nèi)存空間。
memset(Z,0,sizeof(Z));//將二維數(shù)組z初始化為0。
int float long string sizeof函數(shù)返回?cái)?shù)組元素空間中4的倍數(shù)(一個(gè)元素占用4個(gè)字節(jié))。
char sizeof函數(shù)返回?cái)?shù)組元素的空間大小(一個(gè)元素占1個(gè)字節(jié))。
double sizeof函數(shù)返回?cái)?shù)組元素空間中8的倍數(shù)(一個(gè)元素占8個(gè)字節(jié))。
拿出矩陣乘法的方法體
#includebits/stdc。h
使用命名空間std
Intjzcheng (int * q,int * w,int h,int l,int k)//定義兩個(gè)指針,指向二維數(shù)組變成一維數(shù)組后的第一個(gè)地址。
{
int Z[h][k];//h*k
//內(nèi)存集(Z,0,sizeof(Z));//將二維數(shù)組z初始化為0。
//int temp 0;
//cout矩陣相乘//的結(jié)果是:endl;
//cout
;
for(int I 0;I h;我)
{
for(int j 0;j k;j)
{
z[I][j]0;
for(int n 0;n l;n)
{
Z[I][j]Z[I][j]q[I * l n]* w[n * k j];//行和列的乘積和就是對(duì)應(yīng)的結(jié)果值。仔細(xì)想想為什么會(huì)這樣,把它當(dāng)成一維數(shù)組。
//temptemp X[I][k]* Y[k][j];
}
cout Z[I][j];//計(jì)算一后輸出。
//cout temp;
//temp 0;
}
標(biāo)準(zhǔn)輸出
;
}
}
int main()
{
int a,b,c;
Cout,請(qǐng)進(jìn)入兩個(gè)矩陣的行列,: ENDL;
公元前200年的CIN;//分別輸入第一個(gè)矩陣的行,第二個(gè)矩陣的列,第二個(gè)矩陣的列。
int X[a][b],Y[b][c];//打開三個(gè)二維數(shù)組存儲(chǔ)矩陣,注意乘法結(jié)果的行列值。
Cout,請(qǐng)輸入第一個(gè)矩陣: ENDL;
for(int I 0;我a;I) //矩陣的行
{
for(int j 0;j b;J) //矩陣的列
{
CIN X[I][j];
}
}
Cout,請(qǐng)輸入第二矩陣: ENDL;
for(int I 0;I b;I) //矩陣的行
{
for(int j 0;j c;J) //矩陣的列
{
CIN Y[I][j];
}
}
jzcheng(*X,*Y,a,b,c);
//也可以寫成jzcheng(X[0],Y[0],a,b,c);兩者都表示一維數(shù)組,元素以[0][0]開頭;可以用作指針
返回0;
}
//這個(gè)程序也可以直接將結(jié)果累加到temp中輸出,而不需要開發(fā)二維數(shù)組矩陣來(lái)存儲(chǔ)結(jié)果。
//輸出后將temp中的值重置為0。
一個(gè)
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
3233
34
35
36
37
38
39
40
41
四十二個(gè)
43
四十四
45
46
47
48
四十九個(gè)
50
51
五十二個(gè)
53
54
55
五十六歲
57
一個(gè)
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
四十二個(gè)
43
四十四
45
46
47
48
四十九個(gè)
50
51
五十二個(gè)
53
54
55
五十六歲
57
用向量定義二維數(shù)組,避免指針情況。
#includebits/stdc。h
使用命名空間std
int jzcheng(矢量向量X,矢量向量Y,int h,int l,int k)
{
int Z[h][k];//h*k
memset(Z,0,sizeof(Z));//將二維數(shù)組z初始化為0。
//int temp 0;
cout矩陣相乘的結(jié)果是:endl;
//cout
;
for(int I 0;I h;我)
{
for(int j 0;j k;j)
{
//Z[I][j]0;
for(int n 0;n l;n)
{
Z[I][j]Z[I][j]X[I][n]* Y[n][j];//行和列的乘積和就是對(duì)應(yīng)的結(jié)果值。
//temptemp X[I][k]* Y[k][j];
}
cout Z[I][j];//計(jì)算一后輸出。
//cout temp;
//temp 0;
}
標(biāo)準(zhǔn)輸出
;
}
}
int main()
{
int a,b,c;
Cout,請(qǐng)進(jìn)入兩個(gè)矩陣的行列,: ENDL;
公元前200年的CIN;//分別輸入第一個(gè)矩陣的行,第二個(gè)矩陣的列,第二個(gè)矩陣的列。
向量向量X;
向量向量Y;
(一);
for(int i0;();i ){
X[i]。調(diào)整大小(b);
}
(b)和:
for(int i0;();i ){
Y[i]。調(diào)整大小(c);
}//打開三個(gè)二維數(shù)組存儲(chǔ)矩陣,注意乘法結(jié)果的行列值。
標(biāo)準(zhǔn)輸出請(qǐng)輸入第一個(gè)矩陣: ENDL;
for(int I 0;我a;I) //矩陣的行
{
for(int j 0;j b;J) //矩陣的列
{
CIN X[I][j];
}
}
Cout,請(qǐng)輸入第二矩陣: ENDL;
for(int I 0;I b;I) //矩陣的行
{
for(int j 0;j c;J) //矩陣的列
{
CIN Y[I][j];
}
}
jzcheng(X,Y,a,b,c);
返回0;
}