1. 程式人生 > 資訊 >“防毒軟體之父”McAfee創始人因逃稅被捕,此前曾數次入獄

“防毒軟體之父”McAfee創始人因逃稅被捕,此前曾數次入獄

陣列

陣列的學習:
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;
}