C语言编程函数,求矩阵主对角线元素最小值

编写函数,求4*4 矩阵主对角线元素的最小值,并在主函数中调用它。要求数组元素的值在程序内赋值,不通过键盘输入。

#include<stdio.h>

int ph(int a[4][4])
{
    int y,s,min=999999;
    for (y = 0; y < 4; y++)
    {
        s = a[y][y];
        if (s<min)
            min = s;
        s = a[y][3-y];
        if (s<min)
            min = s;
    }
    return min;
}
int main()
{
    int a[4][4] = {
        8,7,4,5,
        5,6,3,5,
        9,5,1,4,
        8,3,6,7
    };
    printf("%d\n",ph(a));
    return 0;

}

 

/* Note:Your choice is C IDE */
#include "stdio.h"

int fun(int a[4][4]){
	int i,j;
	int min = a[0][0];
	for(i=0;i<4;i++)
    {
    	for(j=0;j<4;j++)
    	{
    		//对角线元素
    		if(i==j)
    		{
    			//判断最小值
    			if(min>a[i][j]){
    				min = a[i][j];
    			}	
    		}
    	}	
    }
    return min;
}

void main()
{
	/*
		3、编写程序计算n行n列的二维数组对角线上的元素的和。
		提示:行=列,行+列=n-1为两条对角线
		正对角线所有元素的下标i==j
		斜对角线所有元素的下标i+j=n-1	
	*/
    int a[4][4]={
    	{1,2,3,4},
    	{5,6,7,8},
    	{9,10,11,12},
    	{13,14,15,16}	
    };
    //赋初值
    int min = fun(a);  
    printf("对角线上的最小值=%d\n",min);
    
}

 

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
	/*
		3、编写程序计算n行n列的二维数组对角线上的元素的和。
		提示:行=列,行+列=n-1为两条对角线


		正对角线所有元素的下标i==j
		斜对角线所有元素的下标i+j=n-1
		
	
	*/
    
    int i,j;
    int a[4][4];
    int sum=0;
    for(i=0;i<4;i++)
    {
    	for(j=0;j<4;j++)
    	{
    		scanf("%d",&a[i][j]);	
    		if((i==j) || ((i+j)==3))
    		{
    			sum+=a[i][j];	
    		}
    	}	
    }
    printf("对角线上的和=%d\n",sum);
    
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632