C语言二维数组问题 将一个三行四列的二维整形数组中的最大值和最小值输出(其中数组采用动态初始化形式)

voidmain(){inta[3][4];intmax=a[0][0];intmin=a[0][0];inttmp;for(inti=0;i<3;i++){for(in... void main()
{
int a[3][4];
int max=a[0][0];
int min=a[0][0];
int tmp;
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
if(a[i][j]>max)
{
tmp=a[i][j];
a[i][j]=max;
max=tmp;
}
printf("%d\n",max);
if(a[i][j]<min)
{
tmp=a[i][j];
a[i][j]=min;
min=tmp;
}
printf("%d",min);
}
}
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
printf("%d",a[i][j]);
}
}
}
这段程序哪错了,拜托各位帮帮忙,怎么写才是正确的呢
展开
 我来答
爱教育爱学习
高粉答主

2019-10-23 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:386 获赞数:112683

向TA提问 私信TA
展开全部

functionshuzu(arr){

varsum=0;

for(vari=0;i<3;i++)

{

for(varj=0;j<4;j++)

{

sum+=arr[i][j];

}

}

varavg=sum/12;

alert('平均值'+avg);

}

functionmax(arr){

varmax=arr[0][0]

for(vari=0;i<3;i++)

{

for(varj=0;j<4;j++)

{

if(max<=arr[i][j])

{max=arr[i][j];}

}

}

alert('最大值'+max);

}

functionmin(arr){

varmin=arr[0][0]

for(vari=0;i<3;i++)

{

for(varj=0;j<4;j++)

{

if(min>=arr[i][j])

{min=arr[i][j];}

}

}

alert('最小值'+min);

}

vara=[[1,2,3,4],[1,2,3,4],[1,2,3,4]]

shuzu(a);

max(a);

min(a);

扩展资料

二维数组的定义

数组元素类型数组名[数组行数][数组列数],数组行数*数组列数的结果表示这个数组中所具有的数据元素。第一个中括号[]中的数字表示数组的行数,第二个中括号[]中的数字表示数组的列数。

比如inta[2][2];其中第一个中括号中的2表示定义一个有2个一维数组a[0]a[1],也表示是第一维;第二个中括号中的2表示每一个数组有2个元素分别为a[0][0]、a[0][1]、a[1][0]、a[1][1],也表示是第二维。也就说如果要访问表示第二维第一个元素的话可以用a[1][1]。

其中[][]是二维数组的标志,我们通常是通过下表引用来访问数组中的每个元素(也可以通过指针来访问,本质一样后续讲解如何通过指针来访问数组中的元素)。

XHHISEA02274
2015-07-13 · TA获得超过8万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:3229万
展开全部

具体实现代码如下:

测试结果如下:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郏升2D
2009-11-24 · 超过15用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:66万
展开全部
你试试这个吧:
void main()
{
int a[3][4];
int max=a[0][0];
int min=a[0][0];
int tmp;
for(int i=0;i<3;i++)
{
for(int j=i;j<4;j++)
{
scanf("%d",&a[i][j]);
if(a[i][j]>max)
{
tmp=a[i][j];
a[i][j]=max;
max=tmp;
}
printf("%d\n",max);
if(a[i][j]<min)
{
tmp=a[i][j];
a[i][j]=min;
min=tmp;
}
printf("%d",min);
}
}
for(int i=0;i<3;i++)
{
for(int j=i;j<4;j++)
{
printf("%d",a[i][j]);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cgiggle
2009-11-24 · TA获得超过1957个赞
知道大有可为答主
回答量:1996
采纳率:0%
帮助的人:1231万
展开全部
void main()
{
int a[3][4]={0};
int max=a[0][0];
int min=a[0][0];
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
if(a[i][j]>max)
max=a[i][j];
if(a[i][j]<min)
min=a[i][j];
}
}
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
printf("%d",a[i][j]);
}
}
printf("max=%d\n",max);
printf("min=%d\n",min);
}
//这样就正确了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式