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

二维数组的定义

类型  数组[常量表达式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[][] = {{2.5},{3.3},{2.1,4.8}};
for (int i = ;i< ;i++){
for (int j = ; j<; 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\t",a[i][j]);//输出2.5 0 0 0 3.3 0 0 0 2.1 4.8 0 0
}
printf("\n");
}
return ;
}
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
int a[][] = {},b[][];
for (int i = ; i<; i++) {
for (int j = ; j<; j++) {
a[i][j] = arc4random()%;
printf("%d\t",a[i][j]); }printf("\n");
}
printf("\n");
for (int i = ; i<; i++) {
for (int j = ; j<; j++) {
b[i][j]=a[j][i];
printf("%d\t",b[i][j]);
}printf("\n");
}
return ;
}
//输出:(数字随机)
//2 1 10 19
//21 10 26 23
//18 26 14 18
//
//2 21 18
//1 10 26
//10 26 14
//19 23 18
 //有一个3⾏行4列的⼆二维数组,要求编程找出最 ⼤大元素,并输出所在的⾏行和列。
#import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{
int a[][] = {},max=;
// int k,l;
for (int i = ; i<; i++) {
for (int j = ; j<; j++) {
a[i][j] = arc4random()%+;
printf("%d\t",a[i][j]);
if (max<a[i][j]) {
max=a[i][j];
// k=i;
// l=j;
}
}printf("\n");
}
printf("%d ",max);
for (int i = ; i<; i++) {
for (int j = ; j<; j++) {
if (a[i][j]==max) {
printf("第%d行,第%d列",i+,j+);
}
}
} // printf("%d %d %d",max,k+1,l+1);
return ;
}

二维数组定义时,可以不指定第一维的长度,但必须给定第二维: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[][]={"lidfgdfi","shdfgdg","shidfgren","zhfdggsr","lidrrgo"}; for (int i = ; i<; i++) {
for (int j=; j<-i; j++) {
if(strcmp(name[j], name[j+])>)
{char temp[]={};
strcpy(temp, name[j]);
strcpy(name[j], name[j+]);
strcpy(name[j+], temp); }
}
}
for (int i=; i<; i++) {
printf("%s\n",name[i]);
} return ;
}

注意事项

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

每个字符串长度不可超过第二维长度-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;

}

}

}

最新文章

  1. 条件随机场(CRF) - 1 - 简介(转载)
  2. 小试牛刀3之JavaScript基础题
  3. (BFS)poj1465-Multiple
  4. C#_MVC_Repository_CRUD_Model
  5. 用VirtualBox构建MySQL测试环境笔记
  6. lightoj 1013 dp
  7. java 转成字符串 json 数组和迭代
  8. El表达式的用法个人总结
  9. JQuery学习(4-2-phpserver端1)
  10. 图像采集系统的Camera Link标准接口设计
  11. String类常用方法练习
  12. Eclispe中编辑xml配置文件时不会提示也不能自动调整格式
  13. iframe 页面刷新
  14. zabbix user parameters和Loadable modules的使用方法介绍
  15. springmvc el表达式取值顺序问题
  16. 提高你的Python编码效率的“武林秘籍”
  17. InstallShield在MySQL和Oracle中执行SQL脚本的方法InstallShield在MySQL和Oracle中执行SQL脚本的方法
  18. VS------csc.exe已停止工作解决方法
  19. EditPlus 4.3.2477 中文版已经发布(11月3日更新)
  20. Fragment初探

热门文章

  1. Linux 中 10 个有用的命令行补全例子
  2. 投资统计查询sql
  3. Oracle实现自增方式:序列+触发器
  4. 安装arbotix simulator仿真环境()
  5. redis学习(一)
  6. 从协议VersionedProtocol开始1
  7. C++指针(部分有误需修改)
  8. yum源的更新问题
  9. acedGetString获取用户输入字符串
  10. TPLink 备份文件bin文件解析[续]