c语言 :如何定义一个动态指针数组,用来储存几组数字;该怎么办,又如何释放该二维数组?

利用malloc函数动态开辟一个N行M列(1<=N<=100,1<=M<=100)的二维整形数组,然后读取N*M个整数存入数组中。之后将N*M个整数全部改为其相反数(例如... 利用malloc函数动态开辟一个N行M列(1<=N<=100,1<=M<=100)的二维整形数组,然后读取N*M个整数存入数组中。之后将N*M个整数全部改为其相反数(例如10的相反数为-10,-10的相反数为10)的10倍,然后将其输出。最后用free释放动态数组申请空间。

首先输入两个数字N和M,为数组行列数接下来N*M个数,为二维数组元素。输出N行,每行M个数。每行两个数之间用空格隔开,最后一个数字后面为回车
程序示例:
Please input n and m:3 4
Please input 12 integers:
1 2 3 4 5 6 7 8 9 10 11 12
-10 -20 -30 -40
-50 -60 -70 -80
-90 -100 -110 -120
展开
 我来答
汪好帅
2011-12-17 · TA获得超过2830个赞
知道大有可为答主
回答量:1177
采纳率:0%
帮助的人:1420万
展开全部
#include<stdio.h>
#include <malloc.h>
int main()
{
int i,j,m,n;
float sum=0;
scanf("%d %d",&m,&n);
int **a = (int **)malloc(n*sizeof(int*));
for(i=0;i<n;i++)
{
a[i]=(int *)malloc(m*sizeof(int));
for(j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
a[i][j]*=-10;
}
}

for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
free(a);
return 0;
}
here we go!if u agree with me,please give a agreement.thx!
chenqa08
2011-12-22 · TA获得超过275个赞
知道答主
回答量:105
采纳率:0%
帮助的人:111万
展开全部
以下代码应该能够达到你的要求!
另外:代码未作容错处理,即未加入对输入值正确性的判断,请自行修改。

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

int main(void)
{
int nRows, nColumns, i, j;
int **ppInt = NULL;

printf("请输入数组行数和列数(用空格分隔):\n");
scanf("%d %d", &nRows, &nColumns);

ppInt = (int **)malloc(nRows * sizeof(int *));
for(i = 0; i < nRows; i++)
{
ppInt[i] = (int *)malloc(nColumns * sizeof(int));
}

for(i = 0; i < nRows; i++)
{
for(j = 0; j < nColumns; j++)
{
printf("请输入第%d个整数(共%d个):\n", i * nColumns + j + 1, nRows * nColumns);
scanf("%d", &ppInt[i][j]);
ppInt[i][j] *= -10;
}
}

printf("以下输出数组(每个数是输入值的10倍相反数):\n");
for(i = 0; i < nRows; i++)
{
for(j = 0; j < nColumns; j++)
{
printf("%8d", ppInt[i][j]);
}
printf("\n");
}

for(i = 0; i < nRows; i++)
{
free(ppInt[i]);
}
free(ppInt);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjain
2011-12-17 · TA获得超过367个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:118万
展开全部
楼上已经给出了答案了。
追问
释放内存好像不够彻底!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式