-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path5数组.cpp
130 lines (115 loc) · 3.39 KB
/
5数组.cpp
1
2
3
4
5
6
7
8
9
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <iostream>
using namespace std;
int main()
{
// 数组
// 定义方法
// 数据类型 数组名[数组长度];
// 数据类型 数组名[数组长度] = {值1,值2,...};
// 数据类型 数组名[] = {值1,值2,...};
// int arr1[10];
// int arr2[5] = {1, 2};
// int arr3[] = {1, 2, 3};
// int arr4[] = {};
// cout << arr1[0] << endl;
// cout << arr2[0] << endl;
// cout << arr3[0] << endl;
// cout << arr4[0] << endl;
// 数组名称用途
// 统计数组在内存中长度
// 获取数组内存中首地址
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
cout << "数组的内存长度:" << sizeof(arr) << endl;
cout << "单个数组内存长度:" << sizeof(arr[0]) << endl;
cout << "数组个数为:" << sizeof(arr) / sizeof(arr[0]) << endl;
cout << "数组首地址为:" << arr << endl;
// 五只小猪称体重
int arr1[5] = {300, 350, 200, 400, 250};
int maxp = 0;
for (int i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)
{
if (arr1[i] > maxp)
{
maxp = arr1[i];
}
}
cout << "最重的小猪为:" << maxp << endl;
// 数组元素逆置
int arr2[] = {1, 2, 3, 4, 5};
int start = 0;
int end = sizeof(arr2) / sizeof(arr2[0]) - 1;
for (int i = 0; i < sizeof(arr2) / sizeof(arr2[0]); i++)
{
if (start < end)
{
int temp = arr2[start];
arr2[start] = arr2[end];
arr2[end] = temp;
start++;
end--;
}
}
for (int i = 0; i < sizeof(arr2) / sizeof(arr2[0]); i++)
{
cout << arr2[i] << " ";
}
cout << endl;
// 冒泡排序--升序
int arr3[] = {4, 2, 8, 0, 5, 7, 1, 3, 9, 6};
for (int j = 0; j < sizeof(arr3) / sizeof(arr3[0]) - 1; j++)
{
for (int i = 0; i < sizeof(arr3) / sizeof(arr3[0]) - j - 1; i++)
{
if (arr3[i] > arr3[i + 1])
{
int temp = arr3[i];
arr3[i] = arr3[i + 1];
arr3[i + 1] = temp;
}
}
}
for (int i = 0; i < sizeof(arr3) / sizeof(arr3[0]); i++)
{
cout << arr3[i] << " ";
}
cout << endl;
// 二维数组
// 数据类型 数组名[ 行数 ][ 列数 ];
// 数据类型 数组名[ 行数][ 列数] = {{数据1,数据2 },{数3,数据4 } };
// 数据类型 数组名[ 行数][ 列数] = { 数据1,数据2,数据3,数据4};
// 数据类型 数组名[ ][ 列数 ] = { 数据1,数据2,数据3,数据4 };
int arr4[2][3] = {
{1, 2, 3},
{7, 8, 9}};
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
cout << arr4[i][j] << " ";
}
cout << endl;
}
cout << "二维数组所占内存空间为:" << sizeof(arr4) << endl;
cout << "二维数组第一行占内存空间为:" << sizeof(arr4[0]) << endl;
cout << "二维数组第一个元素占内存空间为:" << sizeof(arr4[0][0]) << endl;
cout << "二维数组行数为:" << sizeof(arr4) / sizeof(arr4[0]) << endl;
cout << "二维数组列数为:" << sizeof(arr4)[0] / sizeof(arr4[0][0]) << endl;
cout << "二维数组首地址为:" << arr4 << endl;
cout << "二维数组第一行首地址为:" << arr4[0] << endl;
// 考试成绩统计
string names[] = {"张三", "李四", "王五"};
int arr5[3][3] = {
{100, 100, 100},
{90, 50, 100},
{60, 70, 80}};
for (int i = 0; i < 3; i++)
{
int totle = 0;
for (int j = 0; j < 3; j++)
{
totle += arr5[i][j];
}
cout << names[i] << " 总成绩为:" << totle << endl;
}
return 0;
}