赞
踩
数组是一种非常重要的数据结构,它允许用连续的方式存储和访问一组相同类型的数据。无论是存储学生成绩、处理图像数据还是解决复杂的数学问题,数组都发挥着重要的作用。
在C++中,一维数组是一种存储相同类型数据的连续内存块。可以通过下标来访问数组中的元素,下标从0开始计数。
#include <iostream>
int main() {
int arr[] = {1, 2, 3, 4, 5};
// 倒序输出数组元素
for (int i = 4; i >= 0; i--) {
std::cout << arr[i] << " ";
}
return 0;
}
输出结果:
5 4 3 2 1
在上述案例中,定义了一个整型数组arr
,并使用for循环从后往前输出数组中的元素,实现了倒序输出。
一维数组的定义语法格式如下:
数据类型 数组名[数组长度];
其中,数据类型表示数组中元素的类型,数组名是标识数组的名称,数组长度表示数组中元素的数量。
在C++中,一维数组的长度是指数组中元素的数量。数组的下标从0开始,最大下标为数组长度减1。
#include <iostream>
int main() {
int arr[] = {10, 20, 30, 40, 50};
std::cout << "数组长度: " << sizeof(arr) / sizeof(arr[0]) << std::endl;
std::cout << "第一个元素: " << arr[0] << std::endl;
std::cout << "最后一个元素: " << arr[sizeof(arr) / sizeof(arr[0]) - 1] << std::endl;
return 0;
}
输出结果:
数组长度: 5
第一个元素: 10
最后一个元素: 50
在上述案例中,定义了一个整型数组arr
,通过sizeof
运算符计算数组长度,并输出数组的第一个元素和最后一个元素。
数组可以存储各种数据类型的元素,例如整型、浮点型、字符型等。
#include <iostream>
int main() {
int intArray[5] = {1, 2, 3, 4, 5};
float floatArray[3] = {1.1, 2.2, 3.3};
char charArray[4] = {'A', 'B', 'C', 'D'};
std::cout << "整型数组第一个元素: " << intArray[0] << std::endl;
std::cout << "浮点型数组第二个元素: " << floatArray[1] << std::endl;
std::cout << "字符型数组第三个元素: " << charArray[2] << std::endl;
return 0;
}
输出结果:
整型数组第一个元素: 1
浮点型数组第二个元素: 2.2
字符型数组第三个元素: C
在上述案例中,分别定义了整型数组intArray
、浮点型数组floatArray
和字符型数组charArray
,并输出了它们的元素。
在C++中,可以使用多种方式来初始化数组,包括使用大括号列表初始化、逐个赋值和部分赋值。
#include <iostream> int main() { int arr1[] = {1, 2, 3, 4, 5}; // 大括号列表初始化 int arr2[5]; arr2[0] = 10; // 逐个赋值 arr2[1] = 20; arr2[2] = 30; arr2[3] = 40; arr2[4] = 50; int arr3[5] = {1, 2, 3}; // 部分赋值 std::cout << "arr1的第一个元素: " << arr1[0] << std::endl; std::cout << "arr2的最后一个元素: " << arr2[4] << std::endl; std::cout << "arr3的第三个元素: " << arr3[2] << std::endl; return 0; }
输出结果:
arr1的第一个元素: 1
arr2的最后一个元素: 50
arr3的第三个元素: 3
在上述案例中,展示了使用大括号列表初始化、逐个赋值和部分赋值的方式来初始化数组。
可以使用循环结构来对一维数组进行赋值和遍历。
#include <iostream> int main() { int arr[5]; int sum = 0; // 数组赋值 for (int i = 0; i < 5; i++) { std::cout << "请输入第" << i + 1 << "个元素: "; std::cin >> arr[i]; } // 数组遍历和求和 for (int i = 0; i < 5; i++) { std::cout << "第" << i + 1 << "个元素: " << arr[i] << std::endl; sum += arr[i]; } std::cout << "数组元素的和为: " << sum << std::endl; return 0; }
在上述案例中,首先使用for循环对数组进行赋值,然后再使用for循环遍历数组并计算数组元素的和。
多维数组是指包含多个维度的数组,例如二维数组、三维数组等。在C++中,多维数组的定义和使用与一维数组类似。
#include <iostream> int main() { int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; std::cout << "二维数组的元素: " << std::endl; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { std::cout << matrix[i][j] << " "; } std::cout << std::endl; } return 0; }
输出结果:
二维数组的元素:
1 2 3
4 5 6
7 8 9
在上述案例中,定义了一个二维数组matrix
,并使用嵌套的for循环遍历二维数组并输出其中的元素。
编写一个程序,要求用户输入一个整型数组,计算并输出数组元素的和。
#include <iostream> int main() { const int SIZE = 5; int arr[SIZE]; int sum = 0; std::cout << "请输入" << SIZE << "个整数:" << std::endl; for (int i = 0; i < SIZE; i++) { std::cin >> arr[i]; sum += arr[i]; } std::cout << "数组元素的和为: " << sum << std::endl; return 0; }
在上述案例中,首先定义了一个大小为5的整型数组arr
,并使用for循环接收用户输入的整数,并累加求和。
编写一个程序,要求用户输入一个整型数组和一个目标值,判断目标值是否在数组中存在。
#include <iostream> int main() { const int SIZE = 5; int arr[SIZE]; int target; bool found = false; std::cout << "请输入" << SIZE << "个整数:" << std::endl; for (int i = 0; i < SIZE; i++) { std::cin >> arr[i]; } std::cout << "请输入目标值: "; std::cin >> target; for (int i = 0; i < SIZE; i++) { if (arr[i] == target) { found = true; break; } } if (found) { std::cout << "目标值存在于数组中" << std::endl; } else { std::cout << "目标值不存在于数组中" << std::endl; } return 0; }
在上述案例中,首先定义了一个大小为5的整型数组arr
,然后接收用户输入的整数,并使用for循环遍历数组,判断目标值是否在数组中存在。
数组与循环是C++中非常重要的概念,
它们经常被结合使用,进行复杂的问题解决。
#include <iostream>
int main() {
const int SIZE = 9;
for (int i = 1; i <= SIZE; i++) {
for (int j = 1; j <= i; j++) {
std::cout << j << " * " << i << " = " << i * j << "\t";
}
std::cout << std::endl;
}
return 0;
}
在上述案例中,使用嵌套的for循环来输出九九乘法表。外层循环控制乘法表的行数,内层循环控制每行的列数,输出每个乘法表达式的结果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。