二维数组

   
//二维数组
    //行可以省,列不可以省
   /*
    int a[2][3]={{1,2,3},{4,5,6}};//里面{}是为了方便辨识,可有可无
    int a[][3]={1,2,3,4,5,6};  //系统会自动识别每行有三个数,因为一共有6个数,所有一共有2行,固第一个[]行里面为2,第二个[]列不可以为空
    int a[][3]={1,2,3,4,5,6,7};  //7个数,每行三个,所以有三行,第三行只有一个7,剩下两个数字补0
    */
    
  //输出二维数组
    /*
    int  a[2][3]={1,2,3,4,5,6};
    for(int i=0; i<2;i++){
        for(int j=0;j<3;j++){
        
            printf("%d",a[i][j]);
        }
        printf(" ");
    }
    
     */
   // 将一个二维数组的行和列交换,存储到另外一个数组中去
    
   /*
    int a[2][3]={1,2,3,4,5,6};
   int b[3][2]={0};
    
    for(int i=0;i<2;i++){         //输出二维数组
        for(int j=0;j<3;j++){
      printf("%d ",a[i][j]);
        }printf(" ");
    }
    for(int i=0;i<2;i++){
    for(int j=0;j<3;j++){
            b[j][i]=a[i][j];      //交换
       // printf("%d ",b[i][j]);
        }printf(" ");
    }
    for(int i=0;i<3;i++){
              
        for(int j=0;j<2;j++){
        printf("%d ",b[i][j]);
        }printf(" ");

    }*/
    
   //有⼀个3行4列的⼆维数组,要求编程找出最大元素,并输出所在的⾏和列
    /*
    int max=0;
    int row=0;
    int list=0;
    int a[3][4]={0};
    for(int i=0;i<3;i++){
        for(int j=0;j<4;j++){
            a[i][j]=arc4random()%(30-0+1)+0;
            printf("%d ",a[i][j]);
        }printf(" ");
    
    }for(int i=0;i<3;i++){         //用于遍历数组(遍历:从开始数到结束)
        for(int j=0;j<4;j++){
            if(max<a[i][j]){     //如果遍历到得数大于max ,记录这个值的行和列
                max=a[i][j];
                row=i;
                list=j;
            
            }
        
        }
    }
    printf("max=%d row=%d  list=%d",max,row,list);
    
    
    */
    
    
   //字符串数组
    
    /*
    char str[3][10]={"iphone","Android","win8"};
    for(int i=0;i<3;i++){
        printf("%s ",str[i]);
    
    }

    */
    
    //sizeof计算字符及字符串长度
    //创建⼀一个字符串数组(内容是你周围⼀一圈⼈人的姓名),输出最⻓长字符串的⻓长度。
/*
 unsigned long  max=0;     //无符号长整形
    int sign=0;
    char str[4][15]={"liujie","yucaijiang","qintao","zhangsanfeng"};
    for(int i=0;i<4;i++){
        if(max<strlen(str[i])){
            max=strlen(str[i]);
            sign=i;
        }
    
    }printf("max=%lu,%s",max,str[sign]);
    
  */
 //创建⼀个字符串数组(内容是你周围⼀圈⼈的姓名),对字符串(英文)从⼩到大排序
    
    /*
    char a[4][15]={"liujie","yucaijiang","qintao","zhangsanfeng"};
    char b[30]={0};
    
    for(int i=0;i<4;i++){
        for(int j=0;j<3-i;j++){
            if(strcmp(a[j],a[j+1])>0){   //字符串比较
                strcpy(b,a[j]);
                strcpy(a[j],a[j+1]);
                strcpy(a[j+1],b);
            }
        }
    }   for(int i=0;i<4;i++){
        printf("%s   ",a[i]);
    }
    */
    
    
  //字符串数组是一个二维数组 ,字符数组是一个一维数组,每一个字符串用数组名加一维下标表示,如a[0]代表第⼀一个字符串
    
   // char a[10]={0};
//scanf("%s",a);  //若为字符数组,输入可不用&符号 即可输出a
   // printf("%s",a); //此处也只用数组名a
   

原文地址:https://www.cnblogs.com/-ios/p/4673061.html