n日分の天気占いの結果を出力する問題と、その提出コードの解答例です。
paizaラーニングのレベルアップ問題集「戦セット」からの出典です。
paiza.jp
・問題
明日からn日分の天気を占うために「明日天気にな〜れ」をすることにしました。
足に履いている靴の片方を蹴り上げて、
靴が表向きだったら「晴れ」、
裏向きだったら「雨」、
横向きだったら「曇り」であるとします。
靴を蹴り上げた後の向きがn個入力されるので、n日分の天気占いの結果を出力してください。
・入力される値:入力は以下のフォーマットで与えられます。
n
d_1
d_2
...
d_n
入力される文字列数n
d_1, d_2, ..., d_n は forward または reverse または sideways
入力はn + 1行となり、末尾に改行を一つ含みます。
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
・期待する出力
i行目に入力値d_iが、
forward のとき Sunny
reverse のとき Rainy
sideways のとき Cloudy
を出力してください。
・条件
すべてのテストケースにおいて、以下の条件をみたします。
1 ≤ n ≤ 10
僕が作成、提出したコードは、以下のとおりです。
/* C言語による天気占い https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include <stdio.h> #include <string.h> int main(void) { int n,i; char d_i[10]; char *p; scanf("%d",&n); i=0; while(i<n){ scanf("%s",d_i); if(strcmp(d_i,"forward")==0){ p="Sunny"; printf("%s\n",p); }else if(strcmp(d_i,"reverse")==0){ p="Rainy"; printf("%s\n",p); }else if(strcmp(d_i,"sideways")==0){ p="Cloudy"; printf("%s\n",p); } i++; } return 0; }
/* C++による天気占い https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<iostream> #include<cstdio> using namespace std; int main(void){ int n; string d; cin>>n; for(int loop=0;loop<n;loop++){ cin>>d; if(d=="forward"){ printf("Sunny\n"); }else if(d=="reverse"){ printf("Rainy\n"); }else if(d=="sideways"){ printf("Cloudy\n"); } } return 0; }
Pythonのバージョンは、3.x に対応します。
#Pythonによる天気占い #https://paiza.jp/works/mondai #提出コードの解答例 #https://neguse-atama.hatenablog.com n = int(input()) for i in range(n): d = str(input()) if d == "forward": print("Sunny") elif d == "reverse": print("Rainy") else: print("Cloudy")
/* Javaによる天気占い https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String N = sc.nextLine(); int n = Integer.parseInt(N); for(int i =0; i < n; i++){ String str = sc.nextLine(); if(str.equals("forward")){ System.out.println("Sunny"); }else if(str.equals("reverse")){ System.out.println("Rainy"); }else if(str.equals("sideways")){ System.out.println("Cloudy"); } } } }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。