惡搞嘻語言第四嘻:嘻陣列

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

假設現在要寫一隻程式記錄一年(非閏年)每天所花的錢,那這時候要寫像底下的程式碼嗎?

/*
現在開始學九把刀幹過的事

int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢;
int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢;
int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢;
int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢;
int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢;
int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢;
int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢;
int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢; int 今天花的錢;

*/

根本不必這麼做,嘻語言裡有個叫陣列的玩意兒可方便我們,語法如下:

資料型態 陣列變數名稱[大小];

於是只要這樣子寫:

intmissingMoneyToday[365];

就可以了,這樣會存有365每天所花費的錢囉,接著底下分別為讀取每一天的寫法:

missingMoneyToday[0]; // 一年的第1(11)花費
missingMoneyToday[1]; // 一年的第2(12)花費
missingMoneyToday[2]; // 一年的第3(13)花費
missingMoneyToday[3]; // 一年的第4(14)花費
missingMoneyToday[31]; // 一年的第32(21)花費
...
...
...
missingMoneyToday[365]; // 一年的第365(1231)花費

附上簡單的範例:
#include<stdio.h>
#include<stdlib.h>

intmain(void) {
constintdaysForYear = 365; // 非閏年的天數
intmissingMoneyToday[daysForYear];
intindex; // 當成陣列的索引

// 產生隨機的花費金額
for(index = 0; index < daysForYear; index++)
missingMoneyToday[index] = rand() % 500; // 一天不超過 500

// 輸出一年每天的花費
for(index = 0; index < daysForYear; index++)
printf("%3d 天花 %3d \n", (index + 1), missingMoneyToday[index]);

return0;
}

以上又稱一維陣列,當然也有二維陣列,語法如下:

資料型態 陣列變數名稱[大小][大小];

二維陣列的範例請行練習 :-)


沒有留言: