数组

数组

数组的学习:
1.一维数组
2.二维数组
3.多维数组
数组属于===>数据结构!!!
数据结构:就是帮助我们更好的管理与使用数据!!!

数组:帮助我们存储一组相同类型的数据
定义
类型名 变量名[数字]
中括号里面的数字就表示当前这个数组能够存储的数据个数

一维数组

#include<stdio.h>

int main(){
    
    int x[5];//数组的名字叫做x,这个数组能够帮助我们存储5个int类型的数据   还没有存储数据!!!
    
    //如何才能把数组里面的数据拿出来使用呢???
    //                         10  20 30 40 50
    //数组的下标/索引/可以理解为编号 0  1  2  3  4
    //定义数组的同时为数组的成员初始化值
    intx[5]={10,20,30,40,50};//第一种
    printf("%d\n",x[0]); //10
    printf("%d\n",x[1]); //20
    printf("%d\n",x[2]); //30
	printf("%d\n",x[3]); //40
	printf("%d\n",x[4]); //50	
    
    return 0;
}
 //将数组的前三个元素赋值,其余元素置为0
    int x[5]={10,20,30};//第二种
    printf("%d\n",x[0]);  //10
    printf("%d\n",x[1]);  //20
    printf("%d\n",x[2]);  //30
	printf("%d\n",x[3]);  //0
	printf("%d\n",x[4]);  //0
  //将数组所有的元素都置为0
    int x[5]={0};
    printf("%d\n",x[0]); //0
    printf("%d\n",x[1]); //0
    printf("%d\n",x[2]); //0
	printf("%d\n",x[3]); //0
	printf("%d\n",x[4]); //0
第一次小优化电子钢琴
#include <sdio.h>
#include <windows.h>
#include <mmsysem.h>
#pragma comment(lib,"winmm.lib")

int main(){
    int x;
    
    //有乐谱!!!  小星星  1155665 4433221 5544332 5544332
    
    int Music[31]={
        		1,1,5,5,6,6,5,0,
                4,4,3,3,2,2,1,0,
                5,5,4,4,3,3,2,0,
                5,5,4,4,3,3,2  };
    int i;
for(i=0;i<31;i++){ 
    if(Music[i]){ //Music[i]值是0就不会执行switch里的语句
    switch (Music[i]){   //自动化的电子钢琴
        case 1:mciSendString("close 1.mp3", 0, 0, 0); mciSendString("play 1.mp3", 0, 0, 0); break;
        case 1:mciSendString("close 2.mp3", 0, 0, 0); mciSendString("play 2.mp3", 0, 0, 0); break; 
        case 1:mciSendString("close 3.mp3", 0, 0, 0); mciSendString("play 3.mp3", 0, 0, 0); break;
        case 1:mciSendString("close 4.mp3", 0, 0, 0); mciSendString("play 4.mp3", 0, 0, 0); break;
        case 1:mciSendString("close 5.mp3", 0, 0, 0); mciSendString("play 5.mp3", 0, 0, 0); break;
        case 1:mciSendString("close 6.mp3", 0, 0, 0); mciSendString("play 6.mp3", 0, 0, 0); break;
        case 1:mciSendString("close 7.mp3", 0, 0, 0); mciSendString("play 7.mp3", 0, 0, 0); break;    
    }
    }    
    Sleep(300);//单位是毫秒   0.3秒 播放一次
    
 }
    
    return 0;
}

二维数组

#include <stdio.h>

int main(){
    
    int x[5]={10,20,30,40,50};
    //      行  列
    int data[4][3]={//列0  1  2      //行
        			   {5,10,20},   // 0
                       {20,5, 5},   // 1
                       {30,100,20},  // 2
                       {50,20,60}};  // 3
    printf("%d\n", data[2][1]);//100
    //我想计算 第二列的所有值的和 怎么搞???
    //[0][2]  [1][2]  [2][2]  [3][2]
    int sum=0,i;
    for(i=0;i<4;i++){
        sum+=data[i][2];
    }
    printf("sum=%d\n",sum);
    return 0;
}
#include <stdio.h>

int main(){
    
    int data[3][3]={
                    {5,10,20},
                    {20,5,5},
                    {30,100,20}};
    //计算5,5,20这条斜线
    int sum=0,i,j;
    for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            if(j==i){
                sum+=data[i][j];
            }
        }
    }
    printf("sum=%d\n",sum);
    return 0;
}
#include <stdio.h>
#include <conio.h>
int main(){
    int Map[6][5]={
        		   1,1,1,1,1,
                   1,0,0,0,1,
                   1,0,1,0,1,
                   1,0,1,0,1,
                   1,0,1,2,1,
                   1,0,3,1,1};     //地图数据化
    int i,j;
    
    //人物的移动就是这个数字2的移动
    //人物向下 数字2 行号+1
    //人物向上 数字2 行号-1
    //人物向左 数字2 行号-1
    //人物向右 数字2 行号+1
    //通过W,S,A,D 4个按键对应上下左右
    for(i=0;i<6;i++){
        for(j=0;j<5;j++){
            switch(Map[i][j]){
                case 0:printf(" ");break;
                case 1:printf("▇");break;
                case 2:printf("♀");break;
                case 3:printf("★");break;
            }
        }
        printf("\n");
    }
    
    //第一步.确定人物的位置
    int dx,dy;
    for (dy=0;dy<6;dy++){
        int flag=0;//标记
        for (dx=0;dx<5;dx++){
            if(Map[dy][dx]==2){ //找到人物了
                flag=1;
                break;//退出的第一次循环
            }
        }
        if (flag)break;
    }
    
    printf("%d,%d\n",dy,dx);//就是人物的坐标位置
    
    while(1){
        
        switch(getch()){
                case'w':
                	Map[dy][dx]=0;
                	dy=dy-1;
                	Map[dy][dx]=2;
                	break;
                case's':
                	Map[dy][dx]=0;
                	dy=dy+1;
                	Map[dy][dx]=2;
                	break;
                case'a':
                	Map[dy][dx]=0;
                	dx=dx-1;
                	Map[dy][dx]=2;
                	break;
                case'd':
                	Map[dy][dx]=0;
                	dx=dx+1;
                	Map[dy][dx]=2;
                	break;
        }
         for(i=0;i<6;i++){
        	for(j=0;j<5;j++){
            	switch(Map[i][j]){
                	case 0:printf(" ");break;
                	case 1:printf("▇");break;
                	case 2:printf("♀");break;
                	case 3:printf("★");break;
            	}
        	}
        	printf("\n");
    	}
    }
    return 0;
}

posted @ 2020-10-07 13:17  宋子钰  阅读(106)  评论(0)    收藏  举报