问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中的二维数组的赋值,输入输出怎么用

发布网友 发布时间:2022-04-23 02:13

我来回答

5个回答

热心网友 时间:2023-10-11 07:48

代码,实现先输入二维数组的行数m和列数n,并再输入m*n个整型数据存到动态二维数组中。最后输出所有二维数组的元素值。

int main()

{

int**p;//定义二维指针。

int m,n;//行数和列数。

int i,j;

scanf("%d%d",&m,&n);//输入行数和列数。

if(m<=0||n<=0)return-1;//行数或列数非法。

p=(int**)malloc(sizeof(int*)*m);//申请一组一维指针空间。

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

p<i>=(int*)malloc(sizeof(int)*n);//对于每个一维指针,申请一行数据的空间。

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

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

scanf("%d",&p<i>[j]);//输入第i行第j列的数据。其中&p<i>[j]也可以写作p<i>+j或者是*(p+i)+j.功能相同。

printf("输入的数组为%d行%d列:\n",m,n);

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

{

for(j=0;j<n;j++)//这个循环可以输出一行元素。

printf("%d",p<i>[j]);//输出i行j列的元素。

printf("\n");//每行输入结束加换行符。

}

//释放内存

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

free(p<i>);

free(p);

return 0;

}

扩展资料:

函数:free

功能:与malloc()函数配对使用,释放malloc函数申请的动态内存。(另:对于free(p)这句语句,如果p是NULL指针,那么free对p无论操作多少次都不会出问题。如果p不是NULL指针,那么free对p连续操作两次就会导致程序运行错误。)

用法;void free(void*ptr);

程序例:

C/C++代码如下:

#include<string.h>

#include<stdio.h>

#include<alloc.h>//or#include<malloc.h>

int main(void)

{

char*str;

/*allocate memory for string*/

str=(char*)malloc(10);

/*copy"Hello"to string*/

strcpy(str,"Hello");

/*display string*/

printf("String is%s\n",str);

/*free memory*/

free(str);

str=NULL;

return 0;

}

热心网友 时间:2023-10-11 07:48

二维数组的赋值与输出,都需要对各个元素进行逐个输出,可以用双重for循环输出全部元素。


举例如下:

int a[2][4];
int i;
// 对二维数组a进行赋值
for(i=0; i<2; i++)     // 行
    for(j=0; j<4; j++)   // 列
        a[i][j] = i+j;  // 对二维数组a进行赋值为行号与列号之和
        
// 输出二维数组a的各元素值
for(i=0; i<2; i++)     // 行
{
    for(j=0; j<4; j++)   // 列
        printf("%d ", a[i][j];   // 输出二维数组a的各元素值
    printf("\n");  // 每输出一行就回车换行
}

热心网友 时间:2023-10-11 07:49

只能逐个去输入和输出~~~没有捷径的,一个采用循环语句去操作,以减少代码的体积;
如楼上给出的程序:
main()
{ int i,j,a[10][10];
for(i=0;i<10;i++)
for(j=0;j<10;j++)
scanf("%d",&a[i][j]);
for(i=0;i<10;i++)
{ for(j=0;j<10;j++)
printf("%d ",a[i][j]);
printf("\n"); }
}
用下标的方法逐个进行输入和输出操作;

热心网友 时间:2023-10-11 07:49

main()
{ int i,j,a[10][10];
for(i=0;i<10;i++)
for(j=0;j<10;j++)
scanf("%d",&a[i][j]);
for(i=0;i<10;i++)
{ for(j=0;j<10;j++)
printf("%d ",a[i][j]);
printf("\n"); }
}

热心网友 时间:2023-10-11 07:50

第二行没有声明 "j";
第十二行括号缺少一半;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 明日之后邮箱里的东西放60天消失了怎么找回? C语言二维数组用循环如何输入数据~~急啊~!谢谢~! 明日之后房子被删了怎么办 科技etf哪个最好 C语言二维数组的输入 明日之后说过退休一年被官方删除账号那么还能找回吗? ETF 50ETF各指什么? C语言输入一个二维数组,找出这个二维数组的最大值 怎样登录明日之后可以删除游戏后,再下载以前的存档还在呢 明日之后装备分解了怎么找回 C语言中二维数组的输入 明日之后不小心删了数剧该怎么恢复 c语言输入一个二维数组,找出每行的最大值输出 明日之后买的蓝图不小心误删了怎么办? 如何使用C语言在动态数组中手动输入一个二维数组的值 c语言二维数组 明日之后建筑护甲删除后怎么找回 c语言二维数组输入 我删了明日之后然后又重新下回来,我以前那个手机号不见了,邮箱账号也忘了,怎么才能找回来? C语言中怎么实现输入二维数组数据,输出一个3*4矩阵,将数据为负数的元素所在的位置和元素值输出_百度问一问 如何查询蓝筹ETF成分股? C语言从键盘上输入一个二维数组再输出!!谢谢 C语言输入一个二维数组。为什么报错 脾胃调理应该怎么做比较有效呢? 如何用C语言编一个程序,输入一个二维数组,然后以一个矩阵的方式输出。 5getf持有哪些股票? 脾胃虚弱怎么调理比较好? C语言之二维数组输入输出 C语言问题 二维数组输入 脾胃虚弱如何调理好得快呢? 怎么查看ETF场内基金的成分股? 脾胃虚弱怎样调理?有最好的方法吗? 怎样才能调理好我们的脾胃? etf和基金有什么区别? 脾胃虚如何调理好? 什么叫ETF?购买ETF有什么好处? 脾胃不好怎么调理 调理脾胃方法 etf基金和股票基金的区别? 调理脾胃最有效的运动 怎样调理好脾胃?