读书人

关于c语言动态分配数组内存,再求数组相

发布时间: 2013-03-12 11:19:35 作者: rapoo

关于c语言动态分配数组内存,再求数组相邻几个数相乘最大值的问题
输入n,m. n表示n*n数组, m表示相邻m个数相乘(上下左右斜线).动态分配数组内存, 然后计算m个数相乘的最大值.
例如 输入
3 2
21 22 23
20 00 11
17 06 15
得出
506

问下m个数相乘求最大值怎么写啊 只会写两个数相乘.....
谢谢啦 c
[解决办法]
仅供参考;

//在堆中开辟一个4×5的二维int数组
#include <stdio.h>
#include <malloc.h>
int **p;
int i,j;
void main() {
p=(int **)malloc(4*sizeof(int *));
if (NULL==p) return;
for (i=0;i<4;i++) {
p[i]=(int *)malloc(5*sizeof(int));
if (NULL==p[i]) return;
}
for (i=0;i<4;i++) {
for (j=0;j<5;j++) {
p[i][j]=i*5+j;
}
}
for (i=0;i<4;i++) {
for (j=0;j<5;j++) {
printf(" %2d",p[i][j]);
}
printf("\n");
}
for (i=0;i<4;i++) {
free(p[i]);
}
free(p);
}
// 0 1 2 3 4
// 5 6 7 8 9
// 10 11 12 13 14
// 15 16 17 18 19

读书人网 >C语言

热点推荐