[英]Copy one dimensional array to two dimensional array in C
我有一个类似这样的代码,但是我想以二维数组(如4 * 10)显示它。 我正在考虑将一维数组的元素复制到二维。 但是我如何编辑下面的代码。 谢谢。
long int arr[40];
printf("The Fibonacci range is: ");
arr[0]=0;
arr[1]=1;
for(i=2;i<range;i++){
arr[i] = arr[i-1] + arr[i-2];
}
for(i=0;i<range;i++)
printf("%ld ",arr[i]);
一维都已经完成。 使用相同的过程,可以将其添加到array [x] [y]并循环遍历。 唯一的事情是您需要跟踪两个索引而不是一个。 全部编码,您将得到它。
如果仅出于显示原因而不必复制阵列,只需在打印中将其修复:
for(i=0;i<range;i++) {
if (i%10 == 0)
printf("\n");
printf("%ld ",arr[i]);
}
如我所愿,那将以4个差异行打印数组。
希望有帮助
看看这个
#include <stdio.h>
int main(void) {
long int arr[40];
long int twoD[4][10];
int i,range,j,k;
printf("The Fibonacci range is:\n ");
scanf("%d",&range); // getting range value from user
arr[0]=0;
arr[1]=1;
for(i=2;i<range;i++){
arr[i] = arr[i-1] + arr[i-2];
}
i=0; // reinitialize i to 0.
for(j=0;j<4;j++){
for(k=0;k<10;k++){
twoD[j][k]=arr[i++]; // coping 1D to 2D array
}
}
for(j=0;j<4;j++){
for(k=0;k<10;k++){
printf("%ld ",twoD[j][k]); // printing 2D array
}
printf("\n");
}
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.