c语言求矩阵的最大值
发布时间: 2025-08-07 10:28:54
⑴ 【c语言编程】矩阵求最大值或最小值并返回它所在的行号与列号
#include<stdio.h>
voidmain()
{
inti,j,minv,mini,minj,sum=0;
inta[4][4];
printf("请输入矩阵中的16个数: ");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
minv=a[0][0];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(a[i][j]<minv)
{
minv=a[i][j];
mini=i+1;
minj=j+1;
}
if(i==j)
sum+=a[i][j];
}
printf("矩阵中最小值为%d,它在第%d行,%d列! ",minv,mini,minj);
printf("矩阵中对角线元素之和为%d",sum);
}
你需要动态的可以这样写:
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
inti,j,minv,mini=1,minj=1,sum=0,h,l;
printf("请输入矩阵的大小:");
scanf("%d%d",&h,&l);
int**a=(int**)malloc(sizeof(int*)*h);
for(i=0;i<l;i++)
a[i]=(int*)malloc(sizeof(int)*l);
printf("请输入矩阵中的%d个数: ",h*l);
for(i=0;i<h;i++)
for(j=0;j<l;j++)
scanf("%d",&a[i][j]);
minv=a[0][0];
for(i=0;i<h;i++)
for(j=0;j<l;j++)
{
if(a[i][j]<minv)
{
minv=a[i][j];
mini=i+1;
minj=j+1;
}
}
printf("矩阵中最小值为%d,它在第%d行,%d列! ",minv,mini,minj);
minv=a[0][0];
for(i=0;i<h;i++)
for(j=0;j<l;j++)
{
if(a[i][j]>minv)
{
minv=a[i][j];
mini=i+1;
minj=j+1;
}
}
printf("矩阵中最大值为%d,它在第%d行,%d列! ",minv,mini,minj);
}
热点内容
