C++二维数组实例
时间: 2023-08-12 07:15:45 浏览: 126
以下是一个使用二维数组的示例,它演示了如何在C++中声明、初始化和访问二维数组。
```c++
#include <iostream>
using namespace std;
int main()
{
// 声明一个3行4列的二维数组
int arr[3][4];
// 初始化二维数组
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 4; j++) {
arr[i][j] = i * 4 + j + 1;
}
}
// 访问二维数组中的元素
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 4; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
以上代码会输出以下结果:
```
1 2 3 4
5 6 7 8
9 10 11 12
```
这个例子中,我们声明了一个3行4列的二维数组,然后使用两个嵌套的循环来初始化数组中的元素。最后,我们再次使用两个嵌套的循环来访问数组中的元素,并将它们打印到控制台上。
相关问题
c++二维数组
### C++ 中二维数组的使用方法
在C++中,二维数组可以视为一维数组中的每一个元素又是一个一维数组。定义一个二维数组的一般形式如下:
```cpp
type arrayName[rowSize][columnSize];
```
其中 `type` 是数据类型,`arrayName` 是数组名称,而 `rowSize` 和 `columnSize` 则分别代表行数和列数。
#### 初始化二维数组
可以直接通过大括号 `{}` 来初始化二维数组,在每一组内部再用一对大括号表示各行的数据[^2]。
```cpp
#include <iostream>
using namespace std;
int main() {
int a[5][3] = {
{60, 70, 90},
{13, 24, 55},
{82, 94, 77},
{30, 60, 90},
{74, 88, 90}
};
// 输出数组中每个元素的值
for (int i = 0; i < 5; i++)
for (int j = 0; j < 3; j++) {
cout << "a[" << i << "][" << j << "]: ";
cout << a[i][j]<< endl;
}
return 0;
}
```
这段代码展示了如何创建并打印一个包含五个学生三门课程成绩的二维整型数组。
#### 访问与遍历二维数组
访问二维数组中的单个元素可以通过指定其行列索引来完成。通常会利用嵌套循环来逐一遍历整个数组内的所有元素[^3]。
对于上述例子而言,外层循环控制行的变化 (`i`) ,内层循环负责处理每行里的各个元素(`j`) 。每次迭代都会输出当前坐标的数值给用户查看。
#### 统计操作实例
当涉及到更复杂的运算比如计算某一行或者某一列上的汇总时,则可以在相应的循环结构里加入累加器变量来进行求和等操作。
```cpp
#include <iostream>
using namespace std;
int main(){
// 考试成绩统计案例
int scores[3][3] = {{100,100,100},{90,50,100},{60,70,80}};
// 统计每个人的总分
for(int i=0;i<3;i++){
int sum = 0;
for(int j=0;j<3;j++){
sum+=scores[i][j];
}
cout<<"第"<<i+1<<"个人的总分为:"<<sum<<endl;
}
system("pause");
return 0;
}
```
此程序片段实现了对学生个体得分情况的小结功能,即针对每位同学所取得的不同科目分数进行了相加得到最终结果。
C++二维数组字符串
### C++ 中使用二维数组存储字符串
在 C++ 中,可以利用二维字符数组来存储多个字符串。这种技术通常用于需要管理一组固定长度的字符串场景下。以下是关于如何定义、初始化以及操作二维字符数组的相关说明。
#### 定义与初始化
为了存储多条字符串,可以通过声明一个二维字符数组实现。每一行代表一条独立的字符串,而列数则决定了每条字符串的最大长度(包括终止符 `\0`)。例如:
```cpp
char strings[3][20]; // 可以存储 3 条最大长度为 19 的字符串 (第 20 位留给 '\0')
```
上述代码创建了一个大小为 `3×20` 的二维字符数组,其中最多可容纳三条字符串,每条字符串最长为 19 个字符[^2]。
#### 初始化示例
可以直接通过赋值的方式对二维字符数组进行初始化。下面是一个简单的例子展示如何完成这一过程:
```cpp
#include <iostream>
using namespace std;
int main() {
char strings[3][20] = {"Hello", "World", "C++"}; // 初始化三维字符数组
for(int i=0;i<3;i++) {
cout << strings[i] << endl;
}
return 0;
}
```
此程序会依次打印 `"Hello"`、`"World"` 和 `"C++"` 这三个字符串。
#### 动态填充二维字符数组
除了静态初始化外,还可以动态读取输入并将其存入二维字符数组中。这里给出一段示范代码片段:
```cpp
#include <iostream>
using namespace std;
const int ROWS = 3;
const int COLS = 20;
int main(){
char strings[ROWS][COLS];
cout << "Enter three lines of text:\n";
for(int i=0;i<ROWS;i++){
cin.getline(strings[i], COLS);
}
cout << "\nThe entered texts are:\n";
for(int j=0;j<ROWS;j++){
cout << strings[j] << endl;
}
return 0;
}
```
在这个实例里,我们首先定义了两个常量分别表示行数和每行所能承载的最大字符数量。接着,在循环结构的帮助下实现了逐行接收用户输入的功能,并最终再次遍历整个二维数组把所有已录入的内容重新输出到屏幕上[^3]。
#### 注意事项
当采用二维字符数组保存数据时需要注意以下几点:
- **边界控制**:确保不会超出预设维度范围写入或访问内存位置以免引发未定义行为。
- **'\0' 终止符**:如果手动设置字符串内容,则需自行保证最后一位始终置为 NULL('\0')以便兼容标准库函数如 `strlen()` 或者 `strcpy()` 正确运作[^1]。
阅读全文
相关推荐














