大神求解!编程,从键盘按行输入4行5列的二维整型数组a的各元,且各元的值都互不相等,先找到并输出数组a中值最大的元素.

didiaokyo 2012-05-17 04:40:19
编程,从键盘按行输入4行5列的二维整型数组a的各元,且各元的值都互不相等,先找到并输出数组a中值最大的元素,输出格式为:a[下标1][下标2]=该数值。然后将数组a中值最大的元素所在的行和列分别与最后一行和最后一列互相交换,再按行输出数组a的各元。例如,
输入:
56 78 36 4 19
44 95 72 85 67
-3 32 29 21 47
88 7 66 53 40
输出:a[1][1]=95
95 44 72 85 67
78 56 36 4 19
32 -3 29 21 47
7 88 66 53 40
...全文
1509 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuexicheng 2012-05-17
  • 打赏
  • 举报
回复
呃,接着笨笨熊大神的我写了个后面行列互换输出的代码,不知道对否,见笑了:

int t;
for (j=0;j<5;j++)/*进行行交换*/
{
t=Arr[icol][j];
Arr[icol][j]=Arr[3][j];
Arr[3][j]=t;
}
for (i=0;i<4;i++)/*进行列交换*/
{
t=Arr[i][irow];
Arr[i][irow]=Arr[i][4];
Arr[i][4]=t;
}
for (i=0;i<4;i++)
{
for (j=0;j<5;j++)
printf("%d",a[i][j]);
printf("\n");
}
yuexicheng 2012-05-17
  • 打赏
  • 举报
回复
楼主的行和列互换后按行输出的顺序好像不对啊应该是:
56 19 36 4 78
88 40 66 53 7
-3 47 29 21 32
44 67 72 85 95
W170532934 2012-05-17
  • 打赏
  • 举报
回复
int main()
{
int iCol,iRow,i,j,nMax;
int Arr[4][5];
for(i=0;i<4;i++)
for (j=0;j<5;j++)
{
scanf("%d",&Arr[i][j]);
if (i==0&&j==0)
{
nMax = Arr[0][0];
iCol = 0;
iRow = 0;
}
else if (nMax<Arr[i][j])
{
nMax = Arr[i][j];
iCol = i;
iRow = j;
}
}
printf("a[%d][%d]=%d\n",iCol,iRow,Arr[iCol][iRow]);
for (i=0;i<4;i++)
{
for(j=0;j<5;j++)
printf("%10d",Arr[i][j]);
printf("\n");
}
return 0;
}

互换没有写,没有仔细的看你的换的顺序,留给你自己写吧
swamsea 2012-05-17
  • 打赏
  • 举报
回复
找出最大元素的话用冒泡法撒

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧