• 六、数组


    数组
    一次性定义多个相同类型的数据

    1.数组定义和使用格式

    类型 数组名[数组大小];
    数组大小不写 定义的时候必须给初值 数组大小由给的元素个数撑开
    数组[下标] []下标运算符
    int brr[]={1,2,3,4,5,6};//

    赋值方式

    直接赋值:
    int brr[10]={1,2,3,4,5,6};//超出的长度用0来补齐


    //错误写法
    crr[20]={1,2,3,45}; 20是数组的下标 下标为20的数组不存在 使用这样的数组越界

    间接赋值:
    for(int j=0;j<20;++j)
    scanf("%d",brr[i]);

    数组名[下标]; 下标 就是给数组元素的编号(从0开始)

    存放100个分数 --->float
    float score[100];
    score可以存放100个float类型的值

    下标从0开始 第20个score[20]

    案例一:斐波那契数列
    1 1 2 3 5 8
    每个数字是前两个数字之和

    1 int Fa[20]={1,1};//计算数列的值
    2 int m;
    3 for(m=2;m<20;m++)
    4 {
    5 Fa[m]=Fa[m-1]+Fa[m-2];
    6 printf("%d	",Fa[m]);
    7 }

    一维数组和二维数组
    int arr[10];

    int doubArr[4][10];
    前面的下标是行 后面的下标是列
    4行10列的二维数组

    存放4行 每行存10个int 总共40行
    doubArr[2][3] 行下标是2 列下标是3的这个元素

    有四名学生 每个学生有三门成绩

    float stuScore[4][3];
    int i,j;
    for(i=0;i<4;++i)
    {
    for(j=0;j<3;j++)
    {
    printf("%f",stuScore[i][j]);
    }
    printf("
    ");
    }

    数组和循环的搭配
    一维数组 一重循环
    二维数组 二重循环(外圈是行 内圈是列)


    不建议定义数组的时候省略数组大小
    数组大小定义的时候 必须是整型常量
    数组大小不可以包含变量

    案列二:杨辉三角
    第几行就有几个数组
    最左和最右的数字都是1
    中间的数字是斜上方两个数字之和

    m*n的二维数组
    每一行都是n个元素

     1 int map[10][10];
     2 int i,j;
     3 for(i=0;i<10;++i)
     4 {
     5 for(j=0;j<=i;++j)
     6 {
     7 if(j==0||j==i)
     8 {
     9 map[i][j]=1;
    10 }
    11 else
    12 {
    13 map[i][j]=map[i-1][j]+map[i-1][j-1];
    14 }
    15 }
    16 }
    17 
    18 for(i=0;i<10;++i)
    19 {
    20 for(j=0;j<10-i;++j)
    21 {
    22 printf(" ");
    23 }
    24 for(j=0;j<=i;++j)
    25 {
    26 printf("%3d ",map[i][j]);
    27 }
    28 printf("
    ");
    29 }
  • 相关阅读:
    十大经典排序算法最强总结(含Java、Python码实现)
    数据库查询优化的12种方式
    开发环境、测试环境、预发布环境、生产环境的区别
    阅站无数的我,只推荐下面这些让你起飞的
    访问控制符
    继承的意义
    数组继承的意义
    java 俄罗斯方块
    类和面向对象
    随机生成数组游戏
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/11743782.html
Copyright © 2020-2023  润新知