關於新手陣列:樣題:陶陶摘蘋果
宣告:為什麼我要把這道題寫下來呢?因為我覺得這道題很有挑戰性,
(我難道會告訴你們我上了提高班連這個都差點A不過嗎?)。
不說啥了,寫教程吧:
題目及題解奉上:
題目描述
陶陶家的院子裡有一棵蘋果樹,每到秋天樹上就會結出1010個蘋果。蘋果成熟的時候,陶陶就會跑去摘蘋果。陶陶有個3030釐米高的板凳,當她不能直接用手摘到蘋果的時候,就會踩到板凳上再試試。
現在已知10個蘋果到地面的高度,以及陶陶把手伸直的時候能夠達到的最大高度,請幫陶陶算一下她能夠摘到的蘋果的數目。假設她碰到蘋果,蘋果就會掉下來。
輸入格式
輸入包括兩行資料。第一行包含1010個100100到200200之間(包括100100和200200)的整數(以釐米為單位)分別表示1010個蘋果到地面的高度,兩個相鄰的整數之間用一個空格隔開。
第二行只包括一個100100到120120之間(包含100100和120120)的整數(以釐米為單位),表示陶陶把手伸直的時候能夠達到的最大高度。
(原來陶陶不到120cm)
輸出格式
輸出包括一行,這一行只包含一個整數,表示陶陶能夠摘到的蘋果的數目。
輸入輸出樣例:
(題目來源:洛谷P1046,截圖自洛谷)
先分析一波,如果能看出來的話,程式碼僅供參考,反之在看程式碼吧。
這道題,是集陣列,for迴圈和if語句一體的一道水題,首先用陣列及for迴圈輸入10個蘋果的高度,然後一一與陶陶站在板凳上(身高+30)的高度比較,陶陶的身高+板凳高度如果大於蘋果高度,這不就搞定了嗎?然後就計數器++(以下定義c,呈現為c++)
,如果小於的話則不做處理,最後,輸出計數器記了幾個數,加上return 0;這道題就AC了,是不是很簡單?所以程式碼最好不要看喲,否則養成了動不動看題解的習慣,就會像我這樣…………
程式碼奉上:
#include<iostream>
using namespace std;
int a[15]; //定義在全域性變數中比較容易使用,否則隨便定義在哪不一定就忘記在哪個範圍中了,然後就又要重新定義。
int main()
{
int d,b,c=0;//變數定義的時候最好一下子定義完畢,如果不知道要定義幾個,就確保在記住每個變數的意思的時候變數++(繼續定義)
for(int i=1;i<=10;i++)
cin>>a[i];//用for迴圈分別輸入10個變數簡單,比cin>>簡潔多了
cin>>b;//陶陶不到121CM的身高出現了!!!
d=b+30;//陶陶站在板凳上的身高,當然吃飽了之後也可以先比較蘋果與陶陶的身高,然後在加上30後再比較一波。(僅限吃飽了之後)
for(int i=1;i<=10;i++)//for迴圈實現這十個蘋果的與接下來作比較的鋪墊
{if(a[i]<=d)
c++;
}
cout<<c;
return 0;
}
PS:這是我學了好長時間C++之後第一次用部落格記錄我的心得,真的心中感慨萬千,有要超越老一輩的雄心,還有要幫助小一輩的關懷,我還是好好學習吧,為了我和你們!
最後附上我的emmm自己看吧,特別美的喲。
&n