精华内容
下载资源
问答
  • import numpy as np ... print(a[-1]) #最后一个数 5 >>> print(a[:-1]) #只不最后一个数 [1 2 3 4] >>> print(a[::-1]) #翻转数 [5 4 3 2 1] >>> print(a[2::-1]) #翻转数
    import numpy as np
    
    >>> a=np.arange(1,6)
    >>> print(a)
    [1 2 3 4 5]
    >>> print(a[-1])     #取最后一个数
    5
    >>> print(a[:-1])    #只不取最后一个数
    [1 2 3 4]
    >>> print(a[::-1])   #翻转取数
    [5 4 3 2 1]
    >>> print(a[2::-1])  #翻转数组后,从下标2开始取数
    [3 2 1]
    >>> print(a[:4])     #从下标0开始取到下标为3
    [1 2 3 4]
    >>> print(a[2:4])    #从下标2开始取到下标为3
    [3 4]
    
    >>> b=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    >>> print(b)
    [[1 2 3]
     [4 5 6]
     [7 8 9]]
    >>> print(b[-1])
    [7 8 9]
    >>> print(b[:-1])
    [[1 2 3]
     [4 5 6]]
    >>> print(b[:,-1])  #不取行,只取最后一列
    [3 6 9]
    >>> print(b[:,2])   #不取行,只取下标为2的列
    [3 6 9]
    >>> print(b[:2,:2])
    [[1 2]
     [4 5]]
    >>> print(b[:,:2])
    [[1 2]
     [4 5]
     [7 8]]
    >>> print(b[:,1:3])   #不取行,取从下标为1的列到下表为2的列
    [[2 3]
     [5 6]
     [8 9]]
    
    
    展开全文
  • C语言总结第七章、数组一维数组一维数组的定义一维数组的引用一维数组的初始化程序举例二维数组及多维数组二维数组的定义二维数组元素的引用二维数组元素的初始化程序举例字符数组和字符串字符数组 第七章、数组 ...

    第七章、数组

    数组是构造数据类型之一

    • 数组: 有序数据的集合,用数组名标识
    • 元素: 属同一数据类型,用数组名和下标确定

    一维数组

    一维数组的定义

    定义方式:
    在这里插入图片描述
    例: int a[6]
    在这里插入图片描述

    一维数组的引用

    1、数组必须先定义,后使用。
    2、只能逐个引用数组元素,不能一次引用整个数组。
    3、数组元素表示形式: 数组名[下标] ,下标可以是常量或整型表达式

    一维数组的初始化

    初始化方式:
    在这里插入图片描述

    说明:
    1、数组不初始化,其元素值为随机数。
    2、对static数组元素不赋初值,系统会自动赋以0值。
    在这里插入图片描述
    3、只给部分数组元素赋初值。
    在这里插入图片描述
    4、当全部数组元素赋初值时,可不指定数组长度。
    在这里插入图片描述

    程序举例

    例1: 读10个整数存入数组,找出其中最大值和最小值
    在这里插入图片描述

    /*示例1*/
    #include <stdio.h>
    #define SIZE 10
    main()
    {   int x[SIZE],i,max,min;
        printf("Enter 10 integers:\n");
        for(i=0;i<SIZE;i++)
        {   printf("%d:",i+1);
    	scanf("%d",&x[i]);
        }
        max=min=x[0];
        for(i=1;i<SIZE;i++)
        {  if(max<x[i])  max=x[i];
           if(min>x[i])  min=x[i];
        }
        printf("Maximum value is %d\n",max);
        printf("Minimum value is %d\n",min);
    }
    

    例2: 用数组求Fibonacci数列前20个数
    在这里插入图片描述

    /*示例2*/
    #include <stdio.h>
    main()
    {   int i;
         int f[20]={1,1};
        for(i=2;i<20;i++)
           f[i]=f[i-2]+f[i-1];
        for(i=0;i<20;i++)
        {   if(i%5==0)  printf("\n");
             printf("%12d",f[i]);
        }
    }
    

    例3: 用冒泡法对10个数排序
    在这里插入图片描述
    在这里插入图片描述

    /*示例3*/
    #include <stdio.h>
    main()
    {   int a[11],i,j,t;
        printf("Input 10 numbers:\n");
        for(i=1;i<11;i++)
           scanf("%d",&a[i]);
        printf("\n");
        for(j=1;j<=9;j++)
           for(i=1;i<=10-j;i++)
              if(a[i]>a[i+1])
             {t=a[i]; a[i]=a[i+1]; a[i+1]=t;}
        printf("The sorted numbers:\n");
        for(i=1;i<11;i++)
    	printf("%d ",a[i]);
    }
    

    例4: 用简单选择法对10个数排序

    在这里插入图片描述

    在这里插入图片描述

     /*示例4*/
    #include <stdio.h>  
    main()
    {   int a[11],i,j,k,x;
        printf("Input 10 numbers:\n");
        for(i=1;i<11;i++)
           scanf("%d",&a[i]);
        printf("\n");
       for(i=1;i<10;i++)
       {  k=i;
          for(j=i+1;j<=10;j++)
                if(a[j]<a[k])  k=j;
          if(i!=k)
          {  x=a[i]; a[i]=a[k]; a[k]=x;}
       }
        printf("The sorted numbers:\n");
        for(i=1;i<11;i++)
    	printf("%d ",a[i]);
    }
    

    二维数组及多维数组

    二维数组的定义

    定义方式: 
    在这里插入图片描述
    在这里插入图片描述
    数组元素的存放顺序
    1、原因: 内存是一维的
    2、二维数组: 按行序优先
    3、多维数组: 最右下标变化最快

    在这里插入图片描述
    数组a[m][n],m行n列,共m*n个元素
    在这里插入图片描述

    这些元素占用m*n个单元,每个单元的大小取决于
    元素的类型。

    任意元素a[i][j]在数组中的位置计算公式为:

    i×n+j (从0开始)

    a——数组的起始地址;a[0]——0行0列元素的地址。

    二维数组元素的引用

    形式: 数组名[下标][下标]

    二维数组元素的初始化

    1、分行初始化
    2、按元素排列顺序初始化

    程序举例

    例1:将二维数组行列元素互换,存到另一个数组中
    在这里插入图片描述

    /*示例1*/
    #include <stdio.h>
    main()
    {   int a[2][3]={{1,2,3},{4,5,6}};
         int b[3][2],i,j;
        printf("array a:\n");
        for(i=0;i<=1;i++)
        {   for(j=0;j<=2;j++)
    	{   printf("%5d",a[i][j]);
    	    b[j][i]=a[i][j];
    	}
    	printf("\n");
        }    
        printf("array b:\n");
        for(i=0;i<=2;i++)
        {   for(j=0;j<=1;j++)
    	   printf("%5d",b[i][j]);
             printf("\n");
        }
    }
    

    例2:求二维数组中最大元素值及其行列号
    在这里插入图片描述

    /*示例2*/
    #include <stdio.h>
    main()
    {  int a[3][4]={{1,2,3,4},
                            {9,8,7,6},
                            {-10,10,-5,2}};
        int i,j,row=0,colum=0,max;
        max=a[0][0];
        for(i=0;i<=2;i++)
           for(j=0;j<=3;j++)
               if(a[i][j]>max)
    	  {  max=a[i][j];
    	     row=i;
    	     colum=j;
    	  }
        printf("max=%d,row=%d,\colum=%d\n",max,row,colum);
    }
    

    例3:分别求n阶方阵两条对角线上的元素之和

    /*示例3*/
    #define N 3
    main()
    {   int i,j,a[N][N];
    int sum1=0,sum2=0;
    for(i=0;i<N;i++)
      for(j=0;j<N;j++)
        scanf(%d”,&a[i][j]);
    for(i=0;i<N;i++)
      for(j=0;j<N;j++)
        if(i==j) sum1+=a[i][j];
    for(i=0;i<N;i++)
      for(j=N-1;j>=0;j--)
        if((i+j)==N-1) sum2+=a[i][j];
    printf(“sum1=%d,sum2=%d\n”,sum1,sum2);
    }
    

    字符数组和字符串

    字符数组

    定义 : 每个元素存一个字符,主要用来对字符串操作。
    字符数组的初始化:

    1、逐个字符赋值
    2、用字符串常量

    字符数组的引用:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    字符串

    字符串及其结束标志

    (1)、无字符串变量,用字符数组处理字符串。
    (2)、字符串结束标志:‘\0’。

    在这里插入图片描述
    字符串的输入输出
    输入:

    • 用scanf函数
      (1).输入单个字符:%c 需用循环语句
      (2).输入字符串:%s scanf(“%s”,str);
    • 用gets函数:gets(str);

    输出:

    • 用printf函数
      (1).输出单个字符:%c 需用循环语句
      (2).输出字符串:%s printf(“%s”,str);
    • 用puts函数:puts(str);

    在这里插入图片描述

    常用的字符串处理函数: 加粗样式包含在头文件 string.h

    字符串输出函数puts

    格式: puts(字符数组)
    功能: 向显示器输出字符串(输出完,换行)
    说明: 字符数组必须以‘\0’结束

    字符串输入函数gets

    格式: gets(字符数组)
    功能: 从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘\0’
    说明: 输入串长度应小于字符数组维数

    字符串连接函数strcat

    格式: strcat(字符数组1,字符数组2)
    功能: 把字符数组2连到字符数组1后面
    返值: 返回字符数组1的首地址
    说明:
    1、字符数组1必须足够大
    2、连接前,两串均以‘\0’结束;连接后,串1的‘\0’取消, 新串最后加‘\0’

    字符串拷贝函数strcpy

    格式: strcpy(字符数组1,字符串2)
    功能: 将字符串2,拷贝到字符数组1中去
    返值: 返回字符数组1的首地址
    说明:
    1、字符数组1必须足够大
    2、拷贝时‘\0’一同拷贝
    3、不能使用赋值语句为一个字符数组赋值
    在这里插入图片描述

    字符串比较函数strcmp

    格式: strcmp(字符串1,字符串2)
    功能: 比较两个字符串
    比较规则: 对两串从左向右逐个字符比较(ASCII码),直到遇到不同字符或‘\0’为止
    返值: 返回int型整数,
    a. 若字符串1< 字符串2, 返回负整数
    b. 若字符串1> 字符串2, 返回正整数
    c. 若字符串1== 字符串2, 返回零
    说明: 字符串比较不能用“==”,必须用strcmp

    字符串比较函数strcmp

    字符串长度函数strlen
    格式:strlen(字符数组)
    功能:计算字符串长度
    返值:返回字符串实际长度,不包括‘\0’在内
    在这里插入图片描述

    展开全文
  • 二维数组求平均值,形成一个新的一维数组
  • php二维数组取随机数

    千次阅读 2017-09-30 11:22:59
    通过随机1维数组然后再随机出来一维数组的随机数。也就是$arr[rand][rand] $arr=array( 'a'=>array( array('qq','aa'), ), 'b'=>array( array('ww','ss'), ), 'c'=>array( array('ee','dd')

    原理

    通过随机取1维数组然后再取随机出来一维数组的随机数。也就是$arr[rand][rand]

    $arr=array(
        'a'=>array(
            array('qq','aa'),
        ),
        'b'=>array(
            array('ww','ss'),
        ),
        'c'=>array(
            array('ee','dd'),
        ),
    );
    $data=$arr[array_rand($arr)][array_rand($arr[array_rand($arr)])];
    print_r($data);

    觉得有帮助,请:
    加群536633782 加QQ1186969412 关注官网uminicmf.com

    展开全文
  • 二维数组获取和列

    千次阅读 2019-08-19 15:42:12
    一、获取和列 array[i][y] int rows = array.length;...二维数组首地址是否为空,即array==null; 二维数组是否为{},即array.length==0的情 二维数组是否为{{}},即array.length=1&&...

      一、获取行和列

      array[i][y]

    1. int rows = array.length;//行数

    2. int columns = array[0].length;//列数

      二、判空

    1. 二维数组首地址是否为空,即array==null;
    2. 二维数组是否为{},即array.length==0的情
    3. 二维数组是否为{{}},即array.length=1&&array[0].length==0的情况; 
       综上所述,Java中判断二维数组为空的条件为:

    if((array==null||array.length==0)||(array.length==1&&array[0].length==0))

    展开全文
  • 二维数组的结构决定了其能非常方便地表示计算机中的表,以第一个下标表示元素所在的,第二个下标表示元素所在的列。下面简单了解一下二维数组,包括数组的声明和初始化。 创建二维数组 在 Java 中二维数组被看作...
  • c#二维数组取一维

    万次阅读 2014-10-23 11:38:44
    我想单独获取二维数组中的一个元素,如{1,2,3}这个元素 但我用int[] def=abc[0]时,vs2010报错说“[]内的索引数目有误,应为2”。个人不是很明天为什么。还请高手赐教。 是不是如果int[][]这样的交错数
  • 二维数组既可以通过二维访问也可以通过一维访问。 对于二维数组的传值,引进了数组指针。 #include void foo(int *p,int n)//一维访问 { for(int i=0;i;i++) printf("%d ",p[i]); printf("\n"); } //因为...
  • C-二维数组取地址和取元素操作

    千次阅读 2020-06-12 16:49:41
    arr 指向整个二维数组 &arr+1 移动一个二维数组长度 arr 指向第0地址 arr+1 移动一长度 *(arr+1)+1 == arr[1]+1 即第一第一个元素 arr[i][j] == *(*(arr+i)+j) 即第i第j个元素值 int main(void) { ...
  • //定义数据类型,p1x4这种类型为指向含4个int元素的1维数组的指针 typedef int(*p3x4)[3][4];//定义数据类型,p3x4这种类型为指向含3x4个int元素的2维数组的指针 下面从一维数组说起:(定义:int a[4]) (1)...
  • pandas写入excel 两种 一个是一的写(本身写入时列)另一种是写入二维数组。 1.一的写 i=1 loujian=2 dat=[i,loujian,ll,load_idx,bilv,eventype]#一个变量 print (dat) test = pd.DataFrame(data=dat)....
  • PHP 中对二维数组取差集操作。 例如: $arr1 和 $arr2 中我需要 去掉 $arr1 中 和 $arr2 相同的部分。 如下面的两个数组中,最后我需要的是 $arr1 中["id"=>102,"name"=>"ptbird","age"=>19]; 注明:...
  • 二维数组和列

    2021-01-13 20:51:13
    //定义一个整型数组:34列 int a[][] = new int[3][4]; //获取行数---3,将每一的一...//获取列数---4列,将二维数组的第一的列数统计出来 int lenX = a[0].length; a.length表示 a[0].length表示列 ...
  • MATLAB 二维数组与矩阵之间有很大的相关性,二维数组是由实数或复数排列成矩形构成的,而且从数据结构上看,矩阵和二维数组没有区别。本节将讲解 MATLAB 二维数组的两种创建方式。直接输入矩阵的生成可以通过在方...
  • C语言二维数组指针(指向二维数组的指针)详解

    千次阅读 多人点赞 2020-05-27 17:43:22
    二维数组在概念上是二维的,有和列,但在内存中所有的数组元素都是连续排列的,它们之间没有“缝隙”。以下面的二维数组 a 为例: int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} }; 从概念上理解...
  • 关于用指针方式访问二维数组的问题 首先说明几种类型: int a[2][4] = { 1,2,3,4,5,6,7,8 };//二维数组 int **p; //二重指针跨度为sizeof(int *) int(*q)[4]; //该语句是定义一个指向数组的指针,指向含4个...
  • PHP二维数组取最大值

    千次阅读 2018-05-16 11:12:37
    /* * 数组取最大值pv */ function getArrayMax($arr,$field) { foreach ($arr as $k=&gt;$v){ $temp[]=$v[$field]; } return max($temp); }
  • 二维数组二维数组名: 对于一位数组我们认识到其数据元素在内存中是按线性顺序依次排列的,且一维数组名的值是一个指针常量。那么二维数组在内存中又是怎么存储的,其数组名又有什么含义呢?    定义一个二维...
  • 易语言二维数组分页源码,二维数组分页,随机汉字,子_初始化,子_读取分页,子_数据到二维数组
  • 二维数组地址、列地址,与元素的存储

    万次阅读 多人点赞 2018-07-25 16:14:02
    2、二维数组地址与列地址 1)地址 1、二维数组中,数组名a的值,是数组a首元素a[0][0]的地址,即&amp;a[0][0],第一第一个元素的地址; 2、二维数组中,数组名a+1是数组a的元素a[1][0]的地址,即&...
  • 类似计时器的算法 遍历二维不等长数组 输出其中的每一维数组取一个值的所有组合
  • 二维数组、指针数组、二级指针、指针互转 1. 一维数组 在讲二维数组之前,先回忆一维数组。 定义一个一维数组int a[10],其内存结构如图:   图1 在中括号[]之前的a表示数组的首地址,a+i则表示第i个int型...
  • } 二维数组取第i列元素组成一个新列表(python) 假设有一个二维列表matrix,可以用下面这句语句取matrix的第i列元素组成一个新列表 b = [j[i] for j in matrix] 顺时针旋转 一种方法是逆时针旋转三次就可以了,另...
  • 作业:C#二维数组取最大值

    千次阅读 2018-01-10 21:08:01
    namespace 二维数组 { class MainClass { public static void Main (string[] args) { int[,] td = new int[3, 4] { {2,4,6,8}, {10,12,14,16}, {18,20,22,24} }; int num =
  • 【C语言】一维数组和二维数组

    千次阅读 2017-07-10 09:43:54
    一维数组及二维数组
  • 二维数组优先和列优先

    千次阅读 2020-11-08 00:13:40
    举个例子,二维数组A[2][3]。若按优先,A[1][1]则是第5个元素。数字小的时候可以画图观察一下。(求存储地址同理) 因为之前第一次看的时候混淆了,结果就算错了。今天再看到就记录一下:) ...
  • 二维数组

    2016-08-13 17:06:28
    一维数组只有一个下标,称为一...本节只介绍二维数组,多维数组可由二维数组类推而得到。 二维数组的定义 二维数组定义的一般形式是:  类型说明符 数组名[常量表达式1][常量表达式2] 其中常量表达式1表示第一维下标

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 122,393
精华内容 48,957
关键字:

二维数组取行