見出し画像

「半角スペース区切りでの出力 C#編」

C#の答えがpaizaになく、調べてもこの問題をやるために身に着けた動画の知識ではどうも解けなかったので、paizaのC#入門編6までの知識のみしか持ち合わせていない自分が解いた解答例を載せておきます。

もっとスマートでフィティッシュでプリミティブなやり方はありますが、初学者でも理解できるコードとなっていますので参考までに。

問題

入力される値

入力は以下のフォーマットで与えられます。

1行目に整数nが与えられます。

期待する出力

paiza と n 回、半角スペース区切りで出力してください。最後の paiza の後には半角スペースは入れず、改行を入れ、余計な文字、空行を含んではいけません。

入力例1

2

出力例1

paiza paiza

解答

using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        
        var s ="paiza ";
        var t ="paiza";
        var a ="";
        var n = int.Parse(Console.ReadLine());
        
        for(int i =1;i<=n;i++){
            if(i<n){
                a+=s;
            }
            else if(i==n){
                a+=t;
            }
        }
        Console.WriteLine(a);
         
    }
}

解説

①変数s(文字列の最後にスペースが入っている”paiza ")
②変数t(文字列の最後にスペースが入っていない"paiza")
③変数a(空白の文字列)
④変数n(入力値である数字を受け取る)

for文の中は、変数iが1で、入力値の数字分だけループするようにしています。
もし、変数iが変数nより小さかったら変数s(①文字列の最後にスペースが入っている”paiza ")を変数a(③空白の文字列)に代入し、変数iが変数nと同じ数値であれば、変数t(②文字列の最後にスペースが入っていない"paiza")を変数a(③空白の文字列)に代入します。

文字列の最後にスペースが入っている”paiza "と入っていない"paiza"を用意したのは、最後にスペースが入っていると不正解になるからです。きっとここもっといいやり方あります。

誰かの助けになれば幸いです。

この記事が気に入ったらサポートをしてみませんか?