有道题麻烦你看一下啊,多谢了

有一个3X3的二维数组,要求分别找出它元素的最大值和最小值。然后分别将它们和第一行的第一个元素,第三个元素对调,并且输出最大值和最小值原来的行列号。... 有一个3X3的二维数组,要求分别找出它元素的最大值和最小值。然后分别将它们和第一行的第一个元素,第三个元素对调,并且输出最大值和最小值原来的行列号。 展开
百度网友1b8f60c
2011-12-26 · TA获得超过475个赞
知道答主
回答量:351
采纳率:0%
帮助的人:248万
展开全部
二维数组应该是已经给定的吧,把table[3][3]里的1换成你的数据就行了
#include <stdio.h>
void main()
{
int a,b,c,d,max,min,s;
int table[3][3]={{1,1,1},{1,1,1},{1,1,1}};
max=min=table[0][0];
for(a=0;a<=2;a++)
for(b=0;b<=2;b++)
if(table[a][b]>max)
max=table[a][b];
printf("max=%d,row=%d,colum=%d\n",max,a,b);
for(c=0;c<=2;c++)
for(d=0;d<=2;d++)
if(table[c][d]<min)
min=table[c][d];
printf("min=%d,row=%d,colum=%d\n",min,c,d);
s=table[0][0];
table[0][0]=table[a][b];
table[a][b]=s;
s=table[0][2];
table[0][2]=table[c][d];
table[c][d]=s;
}
更多追问追答
追问
额,话说为什么最大值最小的行列号是一样的呢?如果原来的顺序和调换过的顺序要以矩阵形式输出呢?麻烦你啦
追答
#include 
int table[3][3]={{1,1,1},{1,1,1},{1,1,1}};
void get()
{
int i,j;
for(i=0;imax)
{
max=table[a][b];
maxrow=a;
maxcolum=b;
}
printf("max=%d,row=%d,colum=%d\n",max,maxrow,maxcolum);
for(a=0;a<=2;a++)
for(b=0;b<=2;b++)
if(table[a][b]<min)
{
min=table[a][b];
minrow=a;
mincolum=b;
}
printf("min=%d,row=%d,colum=%d\n",min,minrow,mincolum);
get();
s=table[0][0];
table[0][0]=max;
table[maxrow][maxcolum]=s;
s=table[0][2];
table[0][2]=min;
table[minrow][mincolum]=s;
get();
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式