我家小朋友正在學c++陣列,所以呢自己就邊學邊寫點體會給他看,就以乙個列印年曆的例項幫他更好地理解和掌握陣列。剛好在2023年元旦寫完,現發出來與c初學者分享一下,有誤之處敬請諒解。
宣告乙個陣列的格式: type array[size];
#include int main(void)
; char b="hello";
cout執行結果:
注1:結束符在定義中不寫出來的,但也可以寫成:
char b=; //不省掉{}
char b=;
看上圖執行結果,』\0』列印出來是空的,但它不是空格『 』。
注2:陣列的下標從0開始計!
int a[5]=;
即: int a[5];
a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5; //最後乙個是a[4]
int b[6]= "hello";
即: int b[6];
a[0]=』h』; a[1]=』e』; b[2]=』l』; …; b[5]=』\0』; //最後乙個是b[5]
也就是array[size]的最後乙個元素是array[size-1]。
陣列可以在宣告時直接賦值,也可以乙個乙個地賦值。
如果陣列的值有某種規律就可以用迴圈來賦值:
int a[30];
for (i=0;i<30;i++) a[i]=i+1;
//把1~30賦值給a[0]~a[29]
如下,定義乙個3行5列的整型二維陣列int a[3][5];
它對應的元素為:
a[0][0] a[0][1] a[0][2] a[0][3] a[0][4]
a[1][0] a[1][1] a[1][2] a[1][3] a[1][4]
a[2][0] a[2][1] a[2][2] a[2][3] a[2][4]
定義完陣列後,一般就用二重迴圈來給它賦值。
#include int main(void)
//列表
for (i=0;i<3;i++)
for (j=0;j<5;j++)
函式返回整數1~7,對應星期一到星期日。
#include int weekday(int y,int m,int d)
int main(void)
//列表
for (i=0;i<6;i++)
for (j=0;j<7;j++);
另還要判斷是否閏年,如閏年則置二月天數days[1]為29。
int y = 2000;
if (y%4==0&&y%100!=0||y%400==0) days[1]=29;
輸出指定年份年曆表的**如下:
#include #include //呼叫dos清屏命令cls
int weekday(int y,int m,int d)
int main(void )
; //表頭
int days[12]=;
int i,j,k,y,w;
int month[6][7];
for(;;) //end initmon()
int main(void)
for (i=0;i<6;i++)
for (j=7;j<14;j++)
}
初始化月份陣列後,用多重迴圈控制行列來輸出各個月份,輸出時把小於1的數字都用空格替換。月份有兩種排列,橫排或豎排。特別要注意的是把握好迴圈變數與各行各列的月份數、日期數之間的函式關係。完成源**如下:
#include #include #include //呼叫system()函式
using namespace std;
int year;
int month[6][14];
int days[12]=;
int weekday(int y, int m, int d)
void initmonth(int m1, int m2)
for (i=0;i<6;i++)
for (j=7;j<14;j++)
//大於月底日期的數字都置為0;
//每月第一天之前的都設成小於或等於0
}void row0col(void)
if (year==0) return 0;
} while(year<1900);
row0col();
do;int weekday(int y, int m, int d)
void initmonth(int m1, int m2, int m3)
for (i=0;i<6;i++)
for (j=7;j<14;j++)
for (i=0;i<6;i++)
for (j=14;j<21;j++)
}void row0col(void)
if (year==0) return 0;
} while(year<1900);
row0col();
do;int weekday(int y, int m, int d)
void initmonth(int year)
;days[1]=(year%4==0&&year%100!=0||year%400==0)?29:28;
for (m=0;m<12;m++) }}
}int main(void)
;int weekday(int y, int m, int d)
void initmonth(int year) }}
}int main(void)
;for(;;)
if (year==0) return 0;
} while(year<1900);
system("cls");
cout<
//修正2位數月份的寬度,"\b"為退格鍵backspace
} cout<0) //非正數用空格替代
cout執行結果如下:
也可以將上述**稍作修改,改為用豎排的格式輸出年曆,自己動手試試吧。(全文完)
Swift中陣列的運用
陣列寫法 var array 1,2,3 var array1 array 1,2 var array2 array 1,2 var array3 array 1,2 2.1 陣列訪問和插入 var array4 string a b c print array4 0 array4.insert d...
JS中陣列的運用
首先第一步需要的是建立乙個陣列 varshuzu1 new array 如果需要指定它的長度就要在括號內加 size 來指定陣列的長度,如果要賦值的話就要在括號裡不斷地疊加中括號然後賦值 shuzi0 shuzi1 shuzin 第二是陣列元素的訪問 首先獲取元素值var yuansuzhi arr...
c語言 陣列的運用
案例5.6 n 0 計數器 for j 1 j 5 j for j 1 j 5 j 行 printf n 習題16 i 4 i 2i 1 1 3 1 2 2 3 3 1 5 4 0 7 i 4 i 2i 1 3 1 5 2 2 3 1 3 1 for for i 1 i 5 i 行 for i 3 ...