二维数组
// main.m
// C5_二维数组
//
// Created by dllo on 15/7/6.
// Copyright (c) 2015年 cml. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
// 二维数组
// int arr[5]={1,3,5,3,4,};
// char stuName[20] = "zhang\0san";
// printf("%s",stuName); // %s输出到'\0'结束
// int arr[5] = {0};
// int a = 10;
// int arr1[a]; // 当长度是变量时,不需要赋值
//
// 定义一个三行四列的二维数组
// 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("%-2d\n",arr[2][1]);
//
// // 遍历一下这个二维数组
// for (int i =0; i< 3; i++) {
// for (int j = 0; j<4; j++) {
// printf("%d ",arr[i][j]);
// }printf("\n");
// }
// for (int i = 0; i<5; i++) {
// for (int j = 0; j<5; j++) {
// if (arr[j]>arr[j+1]) {
// int temp = arr[j];
// arr[j] =arr[j+1];
// arr[j+1] = temp;
//
// }
// }
// }
// 定义一个3行4列的数组
// int arr[3][4] = {0};
//
// int max = 0 ;
// int x = 0 ;
// int y = 0;
//
// // 对数组进行随机数的赋值 范围 30 - 70
// // 找最大值和下标
// for (int i = 0; i< 3; i++) {
// for (int j = 0; j<4; j++) {
// arr[i][j] = arc4random()% (70 -30 +1) +30;
// printf("%3d",arr[i][j]);
// // 找最大值
// if (max<arr[i][j]) {
// max = arr[i][j];
// x = i ;
// y = j ;
//
// }
// }printf("\n");
// }
//
// // 整个循环外做打印
// printf("max = %d,位置在%d,%d\n",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 < 4; i++) {
// for (int j = 0; j<2; j++) {
// arrNew[i][j] = arr[j][i];
// }
// }
// 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 < 9; i++) {
// if (0 == (i % 3)) {
// printf("\n");
// }
// printf("%d ",arr[i]);
// }
// printf("\n");
//
// 3 行 4 列
// int arr[12] = {0};
// 先对 arr 进行随机数的赋值,范围 30 -70
// for (int i = 0 ; i < 12; i++) {
// arr[i ] = arc4random()% (70 -30 +1) + 30;
// // 然后打印 3 行 4 列
// printf("%d ",arr[i]);
// if (0 == (i+1) % 4) {
// printf("\n");
// }
// }
// 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++) {
// for (int j = 0; j< 10; j++) {
// printf("%c",strings[i][j]);
// }printf("\n");
// }
//
// Android -> xiaomi
// char str [ 20 ] =" 111";
// char str1[20] = "222";
//
// strcpy(strings[1] ,"xiaomi");
//
//
// printf("%s\n",strings[1]);
//
// // 找字符串里的字符
// printf("%c\n",strings[0][1]);
// // 字符串数组: 一个维度,可以找到字符串,两个维度找到字符串里对应的字符
//
// int maxLen = 0;
// int max = 0;
// char strings[4][20] = {"zhaozhicheng","guohongrSHJDKLui","luochuanxi","zhangbingjian"};
// for (int i = 0; i < 4; i++) {
// if (maxLen < strlen(strings[i])) {
// maxLen = strlen(strings[i]);
// max = i;
// }
// }
// printf("最长长度是:%d\n最长的名字:%s\n",maxLen,strings[max]);
//
// 多维数组:多一个个维度相当于多一个容器,就多了一个for循环
// int arr[2][2][3] = {1,2,3,5,4,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("%2d ",arr[i][j][k] );
// }printf("\n");
//
// }printf("\n");
// }
//
// int arr[6] = {8,5,6,1,7,3};
// // 1fen45
//
// for (int i =0; i<5; i++) {
// for (int j=0; j<5-i; j++) {
// if (arr[j]>arr[j+1]) {
// int temp = arr[j];
// arr[j]=arr[j+1];
// arr[j+1]=temp;
// }
// }
// }
//
// for (int i =0; i<6; i++) {
// printf("%d\n",arr[i]);
// }
return 0;
}