用c语言编程输出4×4阶矩阵的最大值、最小值及其下标

要求:(1)通过函数调用方式。
(2)使用全局变量。

#include<stdio.h>

int a[4][4],max,min;
int i,j; /*全局变量*/

void dx() /*调用函数*/
{
max=min=a[0][0];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(max<=a[i][j])
max=a[i][j];
if(min>=a[i][j])
min=a[i][j];
}
}

int main()
{
printf("Input 16 integer:\n"); /*输入16个整数*/
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
dx();
printf("The max is %d.\n",max);
printf("The min is %d.\n",min);
getch();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-16
#include<stdio.h>

int min,max,x1,y1,x2,y2;
void fun(int a[][4])
{
int i,j;
max=-100000;min=100000;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(a[i][j]>max)
{ max=a[i][j];x1=i,y1=j;}
if(a[i][j]<min)
{ min=a[i][j];x2=i,y2=j;}
}
}

int main()
{
int a[4][4],i,j;
printf("输入4*4矩阵参数:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
fun(a);
printf("最大的数和下标是:%d %d %d\n",max,x1,y1);
printf("最小的数和下标是:%d %d %d\n",min,x2,y2);

return 0;
}
第2个回答  2011-05-19
用什么语言呢
我只会pascal
var
begin
for i:=1 to 3do
for j:=1 to 4 do
read(a[i,j]);
for 我晕 不想写了
给你说说思路
求矩阵的最大值
说个好理解的算法
先求各行的最大值 保存到一个数组里
然后对数组进行排序
得到的就是矩阵的最大值 当然这是相当麻烦地办法-_-!!!
end.
相似回答