“防毒軟體之父”McAfee創始人因逃稅被捕,此前曾數次入獄
阿新 • • 發佈:2020-10-06
陣列
陣列的學習:
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;
}