當前位置:首頁 » 編程語言 » c語言求一個矩陣的最大數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言求一個矩陣的最大數

發布時間: 2023-07-19 15:28:20

A. c語言編程求矩陣的最大值,最小值及所在的位置

#include<stdio.h>
int a[9][9]={{5,15,9,16,7,10,2,6,3,20}};

//最大值函數聲明
int getmax(int *,int *);

//最小值函數聲明
int getmin(int *,int *)

//主函數
void main(void)
{
int imax,jmax,imin,jmin;

printf("矩陣最大值為%d,位置為%d行,%d列;",getmax(&imax,&jmax),imax,jmax);

printf("最小值為%d,位置為%d行,%d列;",getmin(&imin,&jmin),imin,jmin);

printf("正對角線和為%d!",getlsum());

printf("反對角線和為%d!",getrsum());
}

//求最大值函數
int getmax(int * imax,int * jmax)
{
int max=0;
for(int i=0;i<9;i++)
for(int j=0;j<9;j++)
{
if(a[i][j]>max)
{
*imax=i;
*jmax=j;
max=a[i][j];
}
}
return max;
}

//求最小值函數
int getmin(int * imin,int * jmin)
{
int min=65535;
for(int i=0;i<9;i++)
for(int j=0;j<9;j++)
{
if(a[i][j]<min)
{
*imin=i;
*jmin=j;
min=a[i][j];
}
}
return min;
}

//求正對角線和函數
int getlsum()
{
int sum=0;
for(int i=0;i<9;i++)
sum+=a[i][i];
return sum
}

//求反對角線和函數
int getrsum()
{
int sum=0;
for(int i=0;i<9;i++)
sum+=a[i][9-i];
return sum;
}
程序寫好了,放在一起的,公用一個主函數,如果不要顯示哪個功能就把哪塊幹掉,如果這你都不會我就沒辦法了!!!

B. C語言編程:自定義一個5*5的矩陣,找出矩陣中最大的數,並輸出其所在的行與列,怎麼寫

代碼文本:

#include "stdio.h"

#define N 5

void dispmatrix(int (*p)[N]){

int i,j;

for(i=0;i<N;i++){

for(j=0;j<N;printf("%4d",p[i][j++]));

putchar(' ');

}

}

void findmax(int p[][N]){

int i,j,mi,mj;

for(mi=mj=i=0;i<N;i++)

for(j=0;j<N;j++)

if(p[mi][mj]<p[i][j])

mi=i,mj=j;

printf("The MAX is a[%d][%d]=%d ",mi,mj,p[mi][mj]);

}

int main(int argc,char *argv[]){

int a[N][N]={41,467,334,500,464,145,705,724,169,391,716,895,478,

281,961,827,995,604,163,421,358,718,382,902,491};

printf("Matrix is as follows: ");

dispmatrix(a);

printf(" ");

findmax(a);

return 0;

}

供參考。

C. 【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);
}

D. C語言編程:輸入一個M*N的整數矩陣,求其最大值及其所在的行號、列號。(M、N由鍵盤輸入)

#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,m,n,*array;
printf("請輸入矩陣行數:");
scanf("%d",&m);
printf("請輸入矩陣列數:");
scanf("%d",&n);
array=(int*)malloc(m*n*sizeof(int));
printf("請輸入該%d*%d矩陣:\n",m,n);
for(i=0;i<m*n;i++)
scanf("%d",&array[i]);
int max=array[0];
int index=0;
for(i=1;i<m*n;i++)
{
if(max<array[i])
{
max=array[i];
index=i;
}
}
printf("您輸入的矩陣中的最大值為:%d\n",max);
printf("它所在的行號和列號分別是:%d,%d\n",(index/n)+1,(index%n)+1);
return 0;
}

E. C語言矩陣的最大值

#define ROW 3
#define COL 4
int main()
{
/*定義一個矩陣*/
int a[ROW][COL];
int i=0;
int j=0;
int maxValue=0;

/*矩陣賦值*/
for (i=0;i<ROW;i++)
{
for (j=0;j<COL;j++)
{
printf("請輸入%i行%d列的值:",i+1,j+1);
scanf("%d",&a[i][j]);
}
}
maxValue = a[0][0];

for (i=0;i<ROW;i++)
{
for (j=0;j<COL;j++)
{
if (maxValue<a[i][j])
{
maxValue=a[i][j];
}
}
}

printf("矩陣的最大值是:%d\n",maxValue);

return 0;
}