官术网_书友最值得收藏!

1.9 巧用數組——好玩貪吃蛇

在程序設計中,數組可以存儲一組具有相同數據類型的數據。

1. 一維數組

1)靜態定義

一維數組的靜態定義如下圖所示。

常量表達式必須是整型常量,不能是變量,這個數值必須是已知的數值。

? 可以在定義時,對數組初始化。

? 定義并初始化時可以不指定長度。

? 在非定義時不可以整體賦值。

? 不可以在數組變量之間賦值。

? 系統不會檢查下標是否有效。

? 應該將特別大的數組定義在main()函數外,如果將其定義在main()函數內,就會異常退出。

訓練1-36:定義一些一維數組,并賦值、運算、輸出。

訓練1-37:輸入一些整數,并將其逆序輸出。

訓練1-38:現在有n盞燈,編號為1~n,開始時所有的燈都是關的,編號為1的人走過來,把編號是1的倍數的燈開關按下(開的關上,關的打開),編號為2的人把編號是2的倍數的燈開關按下,編號為3的人又把編號是3的倍數的燈開關按下……直到第k個人為止。

給定nk(0<n,k≤1000),輸出哪幾盞燈是開著的。

訓練1-39:輸入n個學生的成績(整數)并將其存入數組中,求其總成績和平均成績(浮點數)。

訓練1-40:輸入n個學生的成績并將其存入數組中,求其最低分和最高分。

2)動態定義

在程序運行過程中動態分配空間定義數組。一維數組的動態定義如下圖所示。

使用new分配的數組,在使用完畢后需要使用delete釋放內存空間。

注意:

? 不要使用delete釋放不是new分配的內存;

? 不要使用delete釋放同一個內存塊兩次;

? 使用new為一個實體分配內存,需要使用delete釋放內存空間;

? 使用new為一個數組分配內存,需要使用delete[]釋放內存空間;

? 對空指針使用delete是安全的。

訓練1-41:輸入n個學生的成績并將其存入動態數組a[]中,統計不及格的人數。

2. 二維數組

1)靜態定義

二維數組的靜態定義如下圖所示。

常量表達式必須是整型常量,不能是變量,該數值必須是已知的數值。

? 可以在定義時,對數組初始化。

? 將二維數組作為參數時,可以省略第1維的長度,但必須指定第2維的長度。

2)動態定義

一個mn列的二維數組相當于m個長度為n的一維數組。

訓練1-42:蛇形填數,輸入一個整數n,按照蛇形填寫n×n的矩陣。

主站蜘蛛池模板: 新源县| 阳新县| 垣曲县| 平原县| 林芝县| 沿河| 屏东市| 吴桥县| 林甸县| 赣榆县| 宁波市| 专栏| 洛川县| 马关县| 三穗县| 新安县| 科技| 沙田区| 洪江市| 长治市| 梁河县| 磐安县| 阿瓦提县| 瓮安县| 安达市| 榕江县| 无棣县| 澄城县| 航空| 铅山县| 修文县| 马边| 应用必备| 拜泉县| 江永县| 漳州市| 宜章县| 洱源县| 三河市| 新民市| 郑州市|