C语言(Clang 7.0.1)实现一维数组到二维数组的转换
在这个问题中,我们需要根据给定的一维数组,按照要求建立一个二维数组,并输出该二维数组。
以下是使用 C 语言(Clang 7.0.1)编写的代码,用于实现这个需求。我已经在代码中添加了注释来解释每个步骤的作用:
#include <stdio.h>
int main() {
// 定义变量 n
int n;
// 输入整数 n
scanf('%d', &n);
int arr[n]; // 定义大小为 n 的一维数组
// 输入 n 个整数到一维数组 arr
for (int i = 0; i < n; i++) {
scanf('%d', &arr[i]);
}
int matrix[n][n]; // 定义大小为 n x n 的二维数组
// 建立二维数组
for (int i = 0; i < n; i++) {
int index = i;
for (int j = 0; j < n; j++) {
matrix[i][j] = arr[index];
index = (index + 1) % n;
}
}
// 输出二维数组
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf('%d ', matrix[i][j]);
}
printf('
');
}
return 0;
}
在这段代码中,我们首先定义了变量 n,然后使用 scanf 函数输入整数 n。
接着,我们定义了一个大小为 n 的一维数组 arr,用于存储输入的 n 个整数。
然后,我们使用循环输入 n 个整数到一维数组 arr。
接下来,我们定义了一个大小为 n x n 的二维数组 matrix,用于存储建立后的二维数组。
然后,我们使用嵌套的循环建立二维数组。在外层循环中,我们遍历一维数组 arr 的每个元素,以该元素为起点建立每一行的二维数组。在内层循环中,我们将一维数组 arr 的元素依次填充到二维数组 matrix 中。
最后,我们使用嵌套的循环输出建立后的二维数组。
您可以按照输入格式输入数据,例如:
4
3 2 9 10
然后程序将根据输入的一维数组建立二维数组,并输出二维数组。
希望这段代码能够满足您的需求。如果您有任何疑问,或者还有其他需求,请随时告诉我。
原文地址: https://www.cveoy.top/t/topic/Pxw 著作权归作者所有。请勿转载和采集!