数组整体输入输出
数组是编程中常用的数据结构,可以用于一维、二维或多维数据的存储和处理。数组的输入和输出是编写程序时经常遇到的问题,正确处理输入输出可以提高程序的可读性和易维护性。本文将从多个角度分析数组的整体输入输出问题。
1. 单行数组输入输出
当数组数据全部在一行时,我们可以使用空格或其他分隔符将数组元素隔开,以便程序读入。例如,输入:“1 2 3 4 5”,将其转化为数组的形式为{1, 2, 3, 4, 5}。代码实现示例如下:
```
#include
using namespace std;
int main() {
int n = 5, a[5];
for (int i = 0; i < n; i++)
cin >> a[i];
for (int i = 0; i < n; i++)
cout << a[i] << ' ';
return 0;
}
```
2. 多行数组输入输出
当数组数据分布在多行时,我们可以使用循环结构逐行读入,并将每行元素存入数组。例如,输入:
```
1 2 3
4 5 6
7 8 9
```
将其转化为数组的形式为{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}。代码实现示例如下:
```
#include
using namespace std;
int main() {
int n = 3, m = 3, a[3][3];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++)
cin >> a[i][j];
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++)
cout << a[i][j] << ' ';
cout << endl;
}
return 0;
}
```
3. 文件输入输出
当数组数据保存在文件中时,我们可以使用文件输入输出流来处理。例如,从文件“data.txt”中读入数据,并将其转化为数组形式。代码实现示例如下:
```
#include
#include
using namespace std;
int main() {
int n = 5, a[5];
ifstream fin("data.txt");
for (int i = 0; i < n; i++)
fin >> a[i];
fin.close();
for (int i = 0; i < n; i++)
cout << a[i] << ' ';
return 0;
}
```
4. 向函数传递数组参数
在处理数组数据时,我们通常需要将数组作为参数传递给函数进行处理。当数组作为函数参数时,我们可以通过指针或引用的方式来传递数组。代码实现示例如下:
```
#include
using namespace std;
void print(int *a, int n) { // 通过指针传递数组
for (int i = 0; i < n; i++)
cout << a[i] << ' ';
}
void sum(int &a, int &b, int &c) { // 通过引用传递数组
a = a + 1;
b = b + 1;
c = c + 1;
}
int main() {
int n = 5, a[5] = {1, 2, 3, 4, 5};
print(a, n);
int x = 1, y = 2, z = 3;
sum(x, y, z);
cout << x << ' ' << y << ' ' << z << endl;
return 0;
}
```