我要去洗澡
2021-05-18 21:41
采纳率: 50%
浏览 77

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

编写函数,求4*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"
    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);
        
    }
    点赞 打赏 评论
  • /* 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);
        
    }
    
    点赞 打赏 评论
  • 有问必答小助手 2021-05-19 10:20

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

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

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

    点赞 打赏 评论

相关推荐 更多相似问题