C语言中求4*4数组每一行中最大数及其位置?

问题描述:

C语言中求4*4数组每一行中最大数及其位置?
要求输出每一行中的最大数和这个最大数的行,列序号!
1个回答 分类:综合 2014-11-03

问题解答:

我来补答
#include <stdio.h>
int main()
{
int array[4][4],a[4][2];
int temp=0,k,i=0,j=0;
printf("请输入4*4的数组\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&array[i][j]);
for(i=0;i<4;i++)
{
temp=array[i][0];
k=1;
for(j=0;j<4;j++)
if(array[i][j]>temp)
{
temp=array[i][j];
k=j+1;
}
          a[i][0]=temp;
  a[i][1]=k;
}
for(i=0;i<4;i++)
printf("第%d行的最大数为:%d   位于第%d列\n",i+1,a[i][0],a[i][1]);
} 下面的截图是程序运行例子:还有疑问的话就追问!
再问: 每一列中的最大数,还有最大数的行号列号,这个怎么写?
再答: 上面给出的程序就是求每行的最大数,每行的最大数当然是本行只要求列数就可以了。那你的意思是,既要求每行的最大数又要求所有数中的最大数?如果是这样的话,那就是下面改正后的这个程序!#include <stdio.h>
int main()
{
int array[4][4],a[4][2],max[1][3];
int temp=0,k,i=0,j=0,tempmax=0;
printf("请输入4*4的数组\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&array[i][j]);
tempmax=array[0][0];
for(i=0;i<4;i++)
{
temp=array[i][0];
k=1;
for(j=0;j<4;j++)
{
if(array[i][j]>temp)
{
temp=array[i][j];
k=j+1;
}
if(array[i][j]>tempmax)
{
tempmax=array[i][j];
max[0][1]=i+1;
max[0][2]=j+1;
}
          a[i][0]=temp;
  a[i][1]=k;
}
}
max[0][0]=tempmax;
printf("数组中最大数为%d 位于第%d行 第%d列\n",max[0][0],max[0][1],max[0][2]);
for(i=0;i<4;i++)
printf("第%d行的最大数为:%d   位于第%d列\n",i+1,a[i][0],a[i][1]);
}如果不是这样的话,麻烦说出错误的地方。还有请表达清楚题意!否则知道网友无法为你提供帮助!最好能上传所有题目信息!
 
 
展开全文阅读
剩余:2000
上一页:一道物理提题