zoukankan      html  css  js  c++  java
  • 二维矩阵的算法

    源程序:

    /*
    //1、二维矩阵原样输出
    //2、转90度输出
    //3、每行最后增加一个元素,变成正方形矩阵输出
    //4、求矩阵中的最大值和最小值
    //5、求主对角线和副对角线之和
    */
    #include <stdio.h>
    int main()
    {
    int Numbers[4][3]={1,1,1,
    2,4,8,
    3,9,27,
    4,16,64};
    int Num[4][4]={1,1,1,0,
    2,4,8,0,
    3,9,27,0,
    4,16,64,0,};
    int i,j; //i和j是循环变量,i表示行,j表示列
    printf("原二维数组如下: ");
    for(i=0;i<4;i++)
    {
    for(j=0;j<3;j++)
    {
    printf("%3d",Numbers[i][j]);
    }
    printf(" "); //每输出一行,回车换行
    }
    printf(" ");
    printf("转置以后的二维数组: ");
    for(i=0;i<3;i++)
    {
    for(j=0;j<4;j++)
    {
    printf("%3d",Numbers[j][i]);
    }
    printf(" "); //每输出一行,回车换行
    }
    printf(" ");
    //在二维数组中输出最大值和最小值
    int max,min;
    max=min=Numbers[0][0];
    for(i=0;i<4;i++)
    {
    for(j=0;j<3;j++)
    {
    if(Numbers[i][j]>max)
    max=Numbers[i][j];
    if(Numbers[i][j]<min)
    min=Numbers[i][j];
    }
    //printf(" "); //每输出一行,回车换行
    }
    printf("矩阵中的最大值为:%d ,最小值为:%d ",max,min);
    //二维数组每行最后加一个元素
    printf(" 二维矩阵每行最后增加一个元素8 ");
    int add[4]={8,8,8,8};
    for(i=0;i<4;i++)
    {
    Num[i][3]=add[i];
    }
    for(i=0;i<4;i++)
    {
    for(j=0;j<4;j++)
    {
    printf("%3d",Num[i][j]);
    }
    printf(" ");
    }
    //二维矩阵对角线之和
    printf(" ");
    int sum=0;
    for(i=0;i<4;i++)
    {
    sum=sum+Num[i][i];
    }
    printf("主对角线之和为:%d ",sum);

    //副对角线之和
    int sum1=0;
    for(i=0;i<4;i++)
    {
    sum1=sum1+Num[i][3-i];
    }
    // Num[0][3]; //分析的过程
    // Num[1][2];
    // Num[2][1];
    // Num[3][0];
    printf("副对角线之和为:%d ",sum1);
    return 1;
    }

     运行结果:

  • 相关阅读:
    js正则验证邮箱格式
    PHP面向对象简易验证码类
    php 中 instanceof 操作符
    防止SQL注入
    通过实例详细讲解PHP垃圾回收机制
    PHP实现上传视频的功能
    二维数组分组
    时间戳转换为几分钟、几小时、几天、几周、几月、几年前
    自定义接口错误响应格式
    laravel写crontab定时任务(发送邮件)和laravel crontab不执行的问题
  • 原文地址:https://www.cnblogs.com/duanqibo/p/14127937.html
Copyright © 2011-2022 走看看