題解|ZeroJudge d046. 文文採西瓜

【題目】d046. 文文採西瓜

題解

d046.py
1
2
3
4
5
6
7
n=int(input())
melons=list(map(int,input().split()))
count=0
for m in melons:
if m<=10:
count+=1
print(count)
d046.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main() {
int n,y=0;
cin>>n;
int w[100];
for(int i=0; i<n; i++) {
cin>>w[i];
}
for(int i=0; i<n; i++) {
if(w[i]<=10) {
y+=1;
}
}
cout<<y;
return 0;
}

解說

這題說穿了,就是要你找出陣列中<=10的數值的數量,所以該怎麼做呢?

首先我們令一個變數n來接第一行輸入,也就是要採收的西瓜的數量
再來,我們令一個list,名叫melons,負責用來記錄西瓜重量,至於map,我們曾在這篇提及,這裡我們再來看一下他在這裡的應用:
這裡,他是把一大串的輸入(如1 3 5 7 9 11)一個一個分開、遇到空格就把他們分開…split()
然後,把分開後的,一個個轉為int型態…map(int,input().split())
再然後,把他們變成一個list…list()
接著,我們就可以找<=10的數啦!
我們用for迴圈遍歷陣列,遇到<=10的數字,就把用來記錄數量的變數count+1
最後,再輸出count即為所求!

首先,我們令一個變數n,用來接收第一行輸入,也就是要採收的西瓜的數量
然後,我們再宣告一個長度為100的array(這裡選100是因為輸入說明有提到西瓜數量不大於100)
用for迴圈,將數值一個一個輸入到陣列中
接著,就是要找出<=10的數值的數量!
用for迴圈遍歷陣列,當遇到<=10的數字,用來計數的變數y就+1
最後,再輸出y即為所求!

結語

今天這題主要利用迴圈、if來解題!
以上就是今天的題解,倘內容有誤或仍有疑問,歡迎在下方留言區留言!