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] 最好有有说明 详细点
展开
8个回答
展开全部
struct b_t
{
unsigned short x[5];
unsigned short y[5];
};
unsigned char a[25];
#define b(( b_t*)a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-30
展开全部
#include <stdio.h>
int main(void)
{
int i, j;
int a[] = {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};
typedef int (*p)[5];
p b = (p)a;
for(i = 0; i < 5; ++i) {
for(j = 0; j < 5; ++j)
printf("%d ", b[i][j]);
putchar('\n');
}
getch();
return 0;
}
int main(void)
{
int i, j;
int a[] = {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};
typedef int (*p)[5];
p b = (p)a;
for(i = 0; i < 5; ++i) {
for(j = 0; j < 5; ++j)
printf("%d ", b[i][j]);
putchar('\n');
}
getch();
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-30
展开全部
实现的思路:
对二维数组采用双重循环的方式,给各个成员进行赋值,而一维数组下标则递增。
这样就可以从一维数组转换为二维数组了。===============================#include <stdio.h>void main(void)
{
int list1 = {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 list[5][5]; int i, j, k;
for (k = 0, i = 0; i < 5; i+=)
for (j = 0; j < 5; j+=)
{
list2[i][j] = list[k];
k++;
}
}
对二维数组采用双重循环的方式,给各个成员进行赋值,而一维数组下标则递增。
这样就可以从一维数组转换为二维数组了。===============================#include <stdio.h>void main(void)
{
int list1 = {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 list[5][5]; int i, j, k;
for (k = 0, i = 0; i < 5; i+=)
for (j = 0; j < 5; j+=)
{
list2[i][j] = list[k];
k++;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询