C语言中,怎样将一个一维数组中的数,赋给一个二维数组??

如,
一维数组a中有200个数,变成二维,要求是变成10行20列的二维数组怎么变??

帮忙写下程序%…………
先谢谢了……

可以采用两种方式:
1 按元素赋值:
遍历一维数组,并将每个元素赋值到二维数组的对应元素上。
或者遍历二维数组,将每个元素赋值为一维数组对应值上。
优点为操作灵活,可以按照需要任意赋值。

2 当一维数组和二维数组类型相同,而且赋值顺序与一维数组中的存储顺序完全相同时,可以用memcpy的方式,直接一次性赋值。
如一维数组为a,二维数组为b,基础类型为TYPE,需赋值元素个数为n,可以调用
memcpy(b,a,sizeof(TYPE)*n);
该方法有点为操作简单,执行效率高。
不过所需满足的前提条件多。在满足上述所有条件时,用memcpy的方式更为简单。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-27
int a[200],b[10][20];
for(i=0;i<10;i++)
for(j=0;j<20;j++)
b[i][j]=a[i*20+j];本回答被提问者和网友采纳
第2个回答  2011-05-31
#include<stdio.h>
int main()
{
int a[200];
int b[10][20];
int k;
k = 200;
while( k -- )
{
b[k/20][k%20] = a[k];
}
return 0;
}
第3个回答  2015-09-24
void funtion(int a[200])
{
int b[10][20];
int len;
len= sizeof(a)/sizeof();
for(int i=0;i<len;i++)
{
for(int j=0;j<20;j++)
b[i][j]=a[i];
}
}

C语言中,怎样将一个一维数组中的数,赋给一个二维数组??
1 按元素赋值:遍历一维数组,并将每个元素赋值到二维数组的对应元素上。或者遍历二维数组,将每个元素赋值为一维数组对应值上。优点为操作灵活,可以按照需要任意赋值。2 当一维数组和二维数组类型相同,而且赋值顺序与一维数组中的存储顺序完全相同时,可以用memcpy的方式,直接一次性赋值。如一维数组为a,...

C语言把一维数组赋值给二维数组;
在C语言中,字符串不能像数字一样可通过赋值符进行赋值。如:定义int a=233,b;后,使用b=a;给b赋值是可以的;但是char a[20]="abc",b[20];后,不能使用b=a;给a赋值。常用的办法是使用strcpy(b,a);函数。你所举的例子中,aa[0]=p[0];这里是行不通的, 可以考虑用strcpy(aa[0],p...

C语言一维数组转二维数组
1、我们先是定义一个二级指针和行列变量【int **array,row,column;】。2、然后我们编写输入行列的语句。3、为其开辟一个一个一维装着一维数组的数组。4、接下来我们使用【array[i]=(int *)malloc(sizeof(int)*column);】为数组再次产生一个新的装着数组的数组。5、然后我们就可以为其赋值并输出。

C语言如何把一维数组存放进二维数组中?
='\\0'){if(a[n]=='\\n'){i++;j=0;}elseb[i][j++]=a[n]-'0';n++;}for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d ",b[i][j]);printf("

C语言一维数组转二维数组的方法是什么?
void fun(char *a){ int b[3][3]={0};int i=0;int j=0;while(*a){ if(*a == '\\n'){ i++;j=0;} b[i][j++]=*a-'0';} }。C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行...

C语言读取文件中数字并且转为二维数组
1、使用双层循环语句,就可以依次把数据顺序读入到一个二维数组当中了。2、例程:include <stdio.h>#include <string.h>#define MAXLINE 3#define MAXCOLUMN 10void main(void){ FILE *fp; \/\/文件指针 char arr[MAXLINE][MAXCOLUMN]={0}; \/\/定义3行10列的二维数组并初始化 int i ...

C语言中如何将一维数组转成二维数组?例如一维数组a[i],b[j],将其相 ...
楼主你好~用循环赋值即可~for (k = 0; k < 3; k++){ c[k][0] = a[k];c[k][1] = b[k];}

c语言函数怎么传入一个二维数组
这样传:函数声明:Func(变量类型 *[二维数组的列长] arry);char arry[][4] ;Func(arry);

c语言怎样创建二维数组?
2、接下来,接收用户输入的行列值。3、为了给这个 row 行、col 列的数组分配存储空间,我们首先为行指针分配空间。4、接下来,我们为每行分配空间。5、二维数组创建完成。现在就可以用这个二数组接收输入了。6、我们将输入的值输出到屏幕上,以验证是否正确。7、我们动态创建了一个 2*3 的数组,数...

如何用c语言实现二维数组?
使用 C 语言实现二维数组可以通过以下步骤:1. 声明一个二维数组变量:首先,需要声明一个二维数组变量来存储数据。声明二维数组需要指定数组的行数和列数,并可以给数组命名。2. 初始化二维数组:可以选择在声明二维数组时初始化,或者在后续的代码中初始化数组。可以使用循环结构来遍历数组的每个元素,并...

相似回答