C语言一维数组转二维数组

假设,一维数组有25个元素分别是11121314151617181920212223242526272829303132333435把它转成二维数组排成5X5的矩阵且从小... 假设,一维数组有25个元素 分别是 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35把它转成二维数组 排成 5X5的矩阵且从小到大排列 如: 11 12 13 14 1516 17 18 19 2021 22 23 24 2526 27 28 29 3031 32 33 34 35 写出这段程序 用Tubor C写 把一维数组a[25] 转换成 b[5][5] 最好有有说明 详细点 展开
 我来答
刺友互
高粉答主

2019-06-28 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:69.3万
展开全部

1、我们先是定义一个二级指针和行列变量【int **array,row,column;】。

2、然后我们编写输入行列的语句。

3、为其开辟一个一个一维装着一维数组的数组。

4、接下来我们使用【array[i]=(int *)malloc(sizeof(int)*column);】为数组再次产生一个新的装着数组的数组。

5、然后我们就可以为其赋值并输出。

6、运行程序后我们就可以看到这样的效果了。

肥仙女a
高粉答主

2020-05-01 · 我是游戏小达人,专注于分享游戏资讯。
肥仙女a
采纳数:477 获赞数:115578

向TA提问 私信TA
展开全部

1、一维数组的声明包括如下结构:类型变量名[N],其中N是你要定义的一维数组长度。

下面我们就通过一个例子声明一个int类型的数组,并且进行数组的赋值以及输出。

2、在cpp文件main()函数中输入以下语句。

inta[10];//声明一维整形数组,数组长度为10。

for (int i =0;i<10;i++)

{

a[i]=i;

cout<<i<<endl;

}

return0;

然后ctrl+F5运行,我们可以看到如下结果:在i行输出的是a[i]。

3、二维数组的声明结构:类型变量名[M][N],其中M代表行数,N代表列数,下面我们也通过一个例子声明一个整形(int)的二维数组,并且进行相应的赋值与输出。

4、在main()函数中输入以下代码。

inta[4][5];//二维数组声明。

inti,j;

for ( i =0;i<4;i++)

{

for (j=0;j<5;j++)

{

a[i][j]=(i+1)+(j+1);

cout<<a[i][j]<<"  ";

}

cout<<endl;

}

return0;

然后ctrl+F5运行,结果输出的内容是二维数组的每个元素,二维数组就是矩阵,数组的每个元素是相应的行号和列号的和。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-11-25
展开全部
int a[25]={11,12.....};//大括号里面是25个数,偷懒不抄了
int b[5][5];//二维数组
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
b[i][j]=a[i*5+j];//注意理解下a[i*5+j]
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-30
展开全部
#include <stdio.h>
// 实现从小到大的排序
void sort(int arr[], int n)
{
int i, j, temp;
for( i = 0; i < n; i++)
{
for(j = 0; j < i; j++)
{
if(arr[i] < arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}// 将一维数组转化为二维数组
void convert(int array[], int result[][5])
{
int i, j, temp, point = 0;
for( i = 0; i < 5; i++)
for(j = 0; j < 5; j++)
result[i][j] = array[ point++];
}
void print(int result[][5])
{
int i, j, temp;
for( i = 0; i < 5; i++)
{
for(j = 0; j < 5; j++)
printf("%d\t", result[i][j]);
printf("\n");
}
}
int main()
{
int array[25] = {11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35};
int result[5][5];
sort(array, 25);
convert(array, result);
print(result);
return 0;
}
希望你看明白,不懂再问啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
树桖珍aj
2018-06-26 · TA获得超过6564个赞
知道小有建树答主
回答量:45
采纳率:0%
帮助的人:7352
展开全部

代码如下:

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语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式