路人甲某某 2021-05-24 10:19 采纳率: 100%
浏览 54
已采纳

用C语言编程,求大佬解答。

对于二维数组{{4,7,3},{5,3,9},{10,6,12}}求该数组的最大值,最小值,各行元素值得和及主对角线元素的和。

  • 写回答

2条回答 默认 最新

  • Van-bo 2021-05-24 10:45
    关注
    #include<stdio.h>
    
    int main(void)
    {
        double mat[3][3];
        double sumArr[3];
        int i,j;
        struct number
        {
            double num;
            int x;
            int y;
        }min={1000,0,0},max={0};
        double sum=0,left=0,right=0;
    
        for(i=0;i<3;i++)
            for (j=0;j<3;j++)
                scanf("%lf",&mat[i][j]);
    
        for(i=0;i<3;i++)
        {
            for (j=0;j<3;j++)
            {
                if(mat[i][j]>max.num)
                {
                    max.num=mat[i][j];
                    max.x=i;
                    max.y=j;
                }
    
                if(mat[i][j]<min.num)
                {
                    min.num=mat[i][j];
                    min.x=i;
                    min.y=j;
                }
    
                if(i==j)
                    right+=mat[i][j];
    
                if(i+j==3)
                    left+=mat[i][j];
    
                sum+=mat[i][j];
            }
        }
        int k = 0;
        for(i=0;i<3;i++)
        {
            for (j=0;j<3;j++){
                sumArr[k]+=mat[i][j];
            }
            k++;
        }
    
        printf("左对角线和为 %.3lf,右对角线和为 %.3lf,总和为 %.3lf\n",left,right,sum);
        for(i=0;i<3;i++)
        printf("第%d行元素和为 %.3lf\n",i+1,sumArr[i]);
        printf("最大值为 %.3lf,坐标为%d,%d\n",max.num,max.x,max.y);
        printf("最小值为 %.3lf,坐标为%d,%d\n",min.num,min.x,min.y);
    
        return 0;
    }
    

     

    本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助