C5_二维数组

//

//  main.m

//  C5_二维数组

//

//  Created by dllo on 15/7/6.

//  Copyright (c) 2015年 zhozhicheng. All rights reserved.

//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

// 二维数组

//    int arr[5]={1,2,3,4,5};

//    char stuName[20]="zhang\0san";

//    printf("%s\n",stuName);

////    定义一个三行四列的二维数组

//    int arr[3][4]={1,2,3,4,5,6,7,8,9,10,11,12 };

//    // 第三行第二个数

//    printf("%d\n",arr[2][1]);

//    arr[2][1]=20;

//    printf("%d\n",arr[2][1]);

// 遍历一个二维数组

//    int arr[3][4]={1,2,3,4,5,6,7,8,9,10,11,12 };

//    for (int i=0; i<3; i++) {

//        for (int j=0; j<4; j++) {

//            printf("%2d",arr[i][j]);

//        }

//        printf("\n");

//    }

//

// 定义一个三行四列的数组

//    int arr[3][4]={0},max=0;

// 对数组进行随机数的赋值,范围30-70

// 找最大值和对应的下标

// 保存最大值的变量

// x表示行,y表示列下标

//    int x=0,y=0;

//    for (int i=0; i<3; i++) {

//        for (int j=0; j<4; j++) {

//            arr[i][j]=arc4random() % (70-30+1)+30;

//            printf("%2d ",arr[i][j]);

//            // 找最大值

//            if (max<arr[i][j]) {

//                max=arr[i][j];

//                x=i;

//                y=j;

//            }

//        }

//        printf("\n");

//        // 整个循环外做打印

//    }printf("%d %d %d",max,x,y);

// 练习1 定义一个维维数组面对它进行行列的交换

//    int arr[2][4]={1,2,3,4,5,6,7,8};

//    int arrNew[4][2]={0};

//    for (int i=0; i<2; i++) {

//        for (int j=0; j<4; j++) {

//            arrNew[j][i]=arr[i][j];

//

//        }

//

//    }for (int i=0; i<4; i++) {

//        for (int j=0; j<2; j++) {

//            printf("%d ",arrNew[i][j]);

//        }

//        printf("\n");

//    }

//    // 用一个一维数组,打印二维数组的样式

//    int arr[9]={1,2,3,4,5,6,7,8,9};

//    for (int i=0; i<3; i++) {

//        for (int j=0; j<3; j++) {

//            printf("%d",arr[i*3+j]);

//        }

//        printf("\n");

//    }

//三行四列

//    int arr[12]={0};

//    // 先对arr进行随机数赋值,范围30-70

//    // 然后打印三行四列

//    for (int i=0; i<12; i++) {

//        arr[i]=arc4random() % (70-30+1)+30;

//

//    }for (int i=0; i<3; i++) {

//        for (int j=0; j<4; j++) {

//            printf("%d ",arr[i*4+j]);

//        }printf("\n");

//    }

//    // 定义一个二维数组的时候,可以省略行,但是不能省略列

//

//    // 字符串数组

//    // 字符串个数

//    // 每个字符串的最大长度

//    char strings[3][10] ={"iphone","Android","Win8"};

//    printf("%s\n",strings[0]);

//    for (int i=0; i<3; i++) {

//        printf("%s\n",strings[i]);

//    }

//    // 把Android->xiaomi

//    strcpy(strings[1], "xiaomi");

//    printf("%s",strings[1]);

//

//    // 找字符串里的字符

//    printf("%c\n",strings[0][1]);

//    // 字符串数组,一个维度可以找到字符串,两个维度找到对应的字符

//    char strings[4][20]={"caojun","zhangkai","hean","congersha"};

//    int lenMax=0;

//    for (int i = 0; i < 4; i++) {

//        strlen(strings[i]);

//        if (strlen(strings[i])>lenMax) {

//        lenMax=strlen(strings[i]);

//        }

//    }printf("%d\n",lenMax);

//

//   // 多维数组:多一个维度相当于多一个容器,就多一层for循环

//    int arr[2][2][3]={1,2,3,4,5,6,7,8,9,10,11,12};

//    // 遍历一下这个三维数组

//    for (int i=0; i<2; i++) {

//        for (int j=0; j<2; j++) {

//            for (int k = 0; k < 3; k++) {

//                printf("%d ",arr[i][j][k ]);

//            }

//        }

//    }

//

//

//    int arr[6]={1,2,7,4,5,8};

//    for (int i=0; i<6-1; i++) {

//        for (int j=0; j<6-1-i; j++) {

//            if (arr[j]>arr[j+1]) {

//                int temp = 0;

//                arr[j]=temp;

//                arr[j]=arr[j+1];

//                arr[j+1]=temp;

//            }

//        }

//    }

//

//

//    for (int i =0; i<6; i++) {

//        printf("%d",arr[i]);

//    }

//

return 0;

}

时间: 2024-10-26 17:59:00

C5_二维数组的相关文章

14-高效求最长公共子序列(二维数组存不下)

/*                                   See LCS again时间限制:1000 ms  |  内存限制:65535 KB难度:3 描述 There are A, B two sequences, the number of elements in the sequence is n.m; Each element in the sequence are different and less than 100000. Calculate the length

java基础:java中的二维数组

二维数组的概念: 一个元素为一维数组的数组. 格式1: 数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有多少个一维数组. n:表示每一个一维数组的元素有多少个. 注意: A:以下格式也可以表示二维数组 a:数据类型 数组名[][] = new 数据类型[m][n]; b:数据类型[] 数组名[] = new 数据类型[m][n]; B:注意下面定义的区别 int x; int y; int x,y; int[] x; int[] y[]; int[] x,y[

二维数组

int[][]arr; arr=new int[5][6];//定义二维数组 int [][]grade=new int [5][6]//直接定义 for each循环:不使用下表就能访问: int=[]mum={12345} for(int a :m){ System.out.print(a)}  //num数组  a 12345;

二维数组与指针

二维数组: int / char / flaot a[n][m]; 可以看做是将一维数组做为基本类型产生的一维数组的数组类型,共n*m个最基本类型.这样看有许多优点(实际上计算机也是这样分配的). 二维数组数组名的注意事项: 1 #include <stdio.h> 2 int main() 3 { 4 int *p,a[3][4]; 5 p = a;//a是二维数组的首地址本质为行指针,原型为 a[][]:无法赋值给普通指针类型 *p: 6 return 0; 7 } 编译就会出现如下错误

二维数组中的查找-牛客网-剑指offer

1.问题描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 2.问题分析 水平方向.垂直方向二重循环查找 3.源代码 package www.nowcoder.com.conquerOffer.array; /** * 二维数组中的查找 * 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整

面试题3 ----二维数组中的查找

题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 在剩下的两行两列4个数字中,位于右上角的刚好就是我们要查找的数字7,于是查找过程就可以结束了. 矩阵的加阴影背景的区域是下一步查找的范围.代码如下: bool Find(int* matrix,int  rows,int columns,int number) { bool found = false; if (matri

qsort 函数的使用——对普通数组、指针数组、二维数组中的元素进行排序

在ANSI C中,qsort函数的原型是 #include <stdlib.h> void qsort(void *base, size_t nmemb, size_t size, int (*compar) (const void *, const void *)); 解释:qsort函数对含有nmemb个元素的数组进行排序,而base指针指向数组的第一个元素.这个数组的元素个数由size指定. compar函数对qsort的比较操作进行定义,所以可以定制数字的比较,字符串的比较,甚至结构体

JavaScript - 一维数组、二维数组基础

<html> <head> <head> <body> <script language="javascript"> // 数组 var arr = ["wjp", 520, 'wcc', 13.14] ; for(var i=0; i<arr.length; i++){ alert(arr[i]); } // 数组为空undefined var arr2 = ["wjp",,51

递增二维数组中的查找

/* * 二维数组从左到右,从上到下递增 * 查找输入的数,效率尽可能高 * 思路:从右上角或左下角开始查找 */ import java.util.Scanner; public class findTarget { public static boolean find(int [][]a,int rows,int cols,int target){ boolean found=false; int count=0;//移动次数 if(a!=null){ int row=0; int col=