zoukankan      html  css  js  c++  java
  • iOS学习笔记---C语言第五天

    二维数组   字符串数组   多维数组

    二维数组的定义

    类型  数组[常量表达式1][常量表达式2]={值1,值2...};

    int a[2][3] = {7,8,3,2,8,5};

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
    
        float a[3][4] = {{2.5},{3.3},{2.1,4.8}};
        for (int i = 0;i<3 ;i++){
            for (int j = 0; j<4; j++) {
    //            printf("%.2f ",a[i][j]);//输出2.50 0.00 0.00 0.00 3.30 0.00 0.00 0.00 2.10 4.80 0.00 0.00
                printf("%g	",a[i][j]);//输出2.5 0 0 0 3.3 0 0 0 2.1 4.8 0 0
            }
            printf("
    ");
        }
        return 0;
    }
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
        int a[3][4] = {0},b[4][3];
        for (int i = 0; i<3; i++) {
            for (int j = 0; j<4; j++) {
                a[i][j] = arc4random()%31;
                printf("%d	",a[i][j]);
    
            }printf("
    ");
        }
        printf("
    ");
        for (int i = 0 ; i<4; i++) {
            for (int j = 0; j<3; j++) {
                b[i][j]=a[j][i];
                printf("%d	",b[i][j]);
            }printf("
    ");
        }
        return 0;
    }
    //输出:(数字随机)
    //2        1   10    19
    //21    10    26    23
    //18    26    14    18
    //
    //2        21    18
    //1        10    26
    //10    26    14
    //19    23    18
     1 //有一个3⾏行4列的⼆二维数组,要求编程找出最 ⼤大元素,并输出所在的⾏行和列。
     2 #import <Foundation/Foundation.h>
     3 
     4 int main(int argc, const char * argv[])
     5 {
     6     int a[3][4] = {0},max=0;
     7 //    int k,l;
     8     for (int i = 0; i<3; i++) {
     9         for (int j = 0; j<4; j++) {
    10             a[i][j] = arc4random()%21+20;
    11             printf("%d	",a[i][j]);
    12             if (max<a[i][j]) {
    13                 max=a[i][j];
    14 //                k=i;
    15 //                l=j;
    16             }
    17         }printf("
    ");
    18     }
    19     printf("%d ",max);
    20     for (int i = 0; i<3; i++) {
    21         for (int j = 0; j<4; j++) {
    22             if (a[i][j]==max) {
    23                 printf("第%d行,第%d列",i+1,j+1);
    24             }
    25         }
    26     }
    27     
    28 //    printf("%d %d %d",max,k+1,l+1);
    29     return 0;
    30    }

     二维数组定义时,可以不指定第一维的长度,但必须给定第二维:int a[][3]={1,2,3,4,5};

    元素个数不足,会自动补齐。

    二、字符串数组

    用于存放字符串的数组称为字符串数组      字符串:字符数组

    定义字符串数组

    char 数组名[常量表达式1][常量表达式2]={值1,值2...};

    char strings[3][10]={"iphone","android","win8"};

    字符串数组元素访问

    1.访问某个字符串   数组名[第一维下标]

    2.访问某个字符      数组名[第一维下标][第二维下标]

    //字符串排序
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
        char name[5][20]={"lidfgdfi","shdfgdg","shidfgren","zhfdggsr","lidrrgo"};
    
            for (int i = 0; i<4; i++) {
                for (int j=0; j<4-i; j++) {
                    if(strcmp(name[j], name[j+1])>0)
                    {char temp[20]={0};
                        strcpy(temp, name[j]);
                        strcpy(name[j], name[j+1]);
                        strcpy(name[j+1], temp);
                        
                        }
                }
            }
            for (int i=0; i<5; i++) {
            printf("%s
    ",name[i]);
        }
        
        return 0;
    }

     注意事项

    字符串数组实为字符型二维数组

    每个字符串长度不可超过第二维长度-1

    每个字符串用数组名加一维下标表示

    三、多维数组

    数组下标在2个或2个以上时,该数组为多维数组    int a[2][4][3]={0}; 表示整型的三维数组,2层4行3列,元素个数为2*4*3=24个

    三维数组的遍历

    for(int i = 0; i < 层数; i++){

    for(int j = 0; j < ⾏行数; j++){

    for(int k = 0; k < 列数; k++){

    a[ i ][ j ][ k ] = xxx;

    }

    }

  • 相关阅读:
    网页基本信息
    3.ThinkPHP入门---视图
    2.TinkPHP入门----控制器
    1.Thinkphp入门--框架介绍
    C#生成二维码
    .net mvc中的表单异步提交
    .net MVC中异常日志
    .net导入excel数据到数据库中
    执行带返回参数的存储过程
    Jquery客户端校验——jquery.validate.js
  • 原文地址:https://www.cnblogs.com/limicheng/p/3783402.html
Copyright © 2011-2022 走看看