本文主要是介绍C++学习6(二维数组),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#include <iostream>
using namespace std;
#include <string>
int main()
{
//二维数组的定义方式
/*1.数据类型 数组名[行数][列数];
2.数据类型 数组名[行数][列数]={{数据1,数据2},{数据3,数据4}...}
3.数据类型 数组名[行数][列数]={数据1,数据2,数据3,数据4...}
4.数据类型 数组名[][列数]={数据1,数据2,数据3,数据4...}*/
cout << "二维数组 " << endl;
//第一种定义方法
cout << "第一种定义" << endl;
int arr1[2][3];
arr1[0][0] = 1;
arr1[0][1] = 2;
arr1[0][2] = 3;
arr1[1][0] = 4;
arr1[1][1] = 5;
arr1[1][2] = 6;
cout << arr1[0][2] << endl;
//用嵌套循环输出避免一个一个输出
for (int i = 0;i < 2;i++)
{
cout << "第" << i + 1 << "行为: ";
for (int j = 0;j < 3;j++)
{
cout << arr1[i][j] << " ";
}
cout << endl;
}
//第二种定义
cout << "第二种定义" << endl;
int arr2[2][3] = {
{1,2,3},
{4,5,6}
};
for (int i = 0;i < 2;i++)
{
cout << "第" << i + 1 << "行为: " ;
for (int j = 0;j < 3;j++)
{
cout << arr2[i][j] << " ";
}
cout << endl;
}
//第三种定义
cout << "第三种定义" << endl;
int arr3[2][3] = {1,2,3,4,5,6};
for (int i = 0;i < 2;i++)
{
cout << "第" << i + 1 << "行为: ";
for (int j = 0;j < 3;j++)
{
cout << arr3[i][j] << " ";
}
cout << endl;
}
//第四种定义
int arr4[][3] = { 1,2,3,4,5,6 };//只可省去行一个,不能省去列数
for (int i = 0;i < 2;i++)
{
cout << "第" << i + 1 << "行为: ";
for (int j = 0;j < 3;j++)
{
cout << arr4[i][j] << " ";
}
cout << endl;
}
cout << "\n " << endl;
//二维数组的数组名
/*1.查看二维数组所占内存空间
2.获取二维数组首地址*/
cout << "二维数组名的用途" << endl;
int arr5[2][3] = {
{7.8,9},
{4,5,6}
};
cout << "int 二维数组所占用的内存空间" << sizeof(arr5) << endl;
double arr6[2][3] = {
{7.8,9},
{4,5,6}
};
cout << "double 二维数组所占用的内存空间" << sizeof(arr6) << endl;
cout << "double 二维数组第一行所占用的内存空间" << sizeof(arr6[0]) << endl;
cout << "double 二维数组第一个元素所占用的内存空间" << sizeof(arr6[0][0]) << endl;
int rows, cols;
rows = sizeof(arr6) / sizeof(arr6[0]);
cols = sizeof(arr6[0]) / sizeof(arr6[0][0]);
//int size = sizeof(Arr) / sizeof(Arr[0][0]);//数组元素总数
//int rows = sizeof(arr) / sizeof(arr[0]);//行数
//int cols = sizeof(arr[0]) / sizeof(arr[0][0]);//列数
cout << "数组arr6的行数为:" << rows << endl; //行数
cout << "数组arr6的列数为:" << cols << endl; //列数
cout << "\n " << endl;
//查看二维数组的首地址
cout << "二维数组arr6的首地址为:" <<(int) arr6 << endl;
cout << "二维数组arr6的第一行首地址为:" << (int) arr6[0] << endl;
cout << "二维数组arr6的第一个元素首地址为:" << &arr6[0][0] << endl;
//二维数组的首地址和第一行首地址和第一个元素的首地址相同
cout << "二维数组arr6的第二行首地址为:" << (int)arr6[1] << endl;
cout << "\n " << endl;
//二维数组的应用案例
cout << "二维数组的应用案例(考试成绩统计)" << endl;
//创建二维数组
int scores[3][3] = {
{100,100,100},//张三
{90,50,100},//李四
{60,70,80}//王五
};
//统计每个人的总和分数
string name[3] = { "张三","李四","王五" };
for (int i = 0;i < 3;i++)
{
int sum = 0;//成绩总和
for (int j = 0;j < 3;j++)
{
sum += scores[i][j];
//cout << scores[i][j] << " ";
}
cout << name[i]<< "的总分: "<<sum;
cout << endl;
}
cout << "\n " << endl;
system("pause");
return 0;
}
这篇关于C++学习6(二维数组)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!