数组的推箱子应用()艰难的进程
1.一维数组
2.二维数组
3.多维数组
数组===》
数据结构:就是帮助我们更好的管理和使用数据!!!
变量 数组 结构体 链表 队列 栈 堆 hash 树图。。。
变量:存储一个数据(数据是有数据类型的)
int x = 40; x=45
表示50个人的体重
int x,x1,x2,x3...x//50个变量去存储50个数据
数组可以解决这个麻烦的问题
数组:帮助我们存储一组相同类型的数据'
1.定义 类型名 变量名【数字】 中括号的数据表示当前能够存储的数据个数
数组在内存中是一段连续的空间,每个元素的类型是一样的
一维数组的初始化:
几何
点 变量 int x;
线 一维数组 int x[5]
面 二维数组 int date
//列0 1 2 //行
int date[4][5] ={{5 ,10,20}//0
{20,5 ,5 }//1
{30,10,20}//2
{50,20,60}}//3
//数字60在3行2列
printf("%d\n',date[2][3]);
二维数组的定义与使用
int array[2][3];//定义了一个二维数组,有两个array
二维数组初始化
int a[3][4]={{1,2,3,4,}{5,6,7,8,}{9,10,11,12}}
//列0 1 2 //行
int date[4][5] ={{5 ,10,20}//0
{20,5 ,5 }//1
{30,10,20}//2
{50,20,60}}//3
//计算第二列的所有值的和
int SUM = 0,i;
for(i=0;i<4;i++){
sum += date{[i][2];
}
printf("Sun=%d\n",sum);
//计算斜线
int sum = 0,i,m;
for (i = 0; i < 3; i++){
for (m = 0; m < 3; m++) {
if (m == i){
sum += date[i][m];
}
}
}
printf("sum=%d\n", sum);
return 0;
}
地图PIUS
#include<stdio.h>
int main(){
int map[6][6] = {
{1, 1, 1, 1, 1, 1,},
{2, 4, 2, 2, 3, 1,},
{1, 2, 3, 2, 2, 1,},
{1, 2, 3, 3, 2, 1,},
{1, 2, 3, 2, 2, 1,},
{1, 1, 1, 1, 2, 1,}
};
int i, m;
for (i = 0; i < 6; i++){
for (m = 0; m < 6; m++){
switch (map[i][m]){
case 1:printf("█");break;
case 2:printf(" ");break;
case 3:printf("〒");break;
case 4:printf("囧");break;
}
}
printf("\n");
}
return 0;
}
地图确定人物位置
for(dy=0;dy<6;dy++){//行
int flag=0;//标记
for(dx=0;dx<5;dx++){//列
if(map[dy][dx]==4){//找到人物位置
flag=1;
break;//退出小循环
}
}
if(flag)break;//退出大循环
}
printf("%d,%d\n,dy,dx");//就是人物的坐标位置
地图控制人物的走动
...