C# 標準入出力 例題サンプル

10 個の文字列 S_1, S_2, S_3, …, S_10 が改行区切りで与えられます。
これらの文字列をすべて、半角スペース区切りで出力してください。
末尾に改行を入れ、余計な文字、空行を含んではいけません。
using System;
using System.Collections.Generic; // ListにてJoin利用のため
class Program
{
    static void Main()
    {
        // 10個の文字列を格納するリストを作成
        List<string> strings = new List<string>();
        // 10回ループして各文字列を読み取る
        for (int i = 0; i < 10; i++)
        {
            string input = Console.ReadLine();
            strings.Add(input);
        }
        // 文字列をスペースで区切って1行で出力。連結時に空白を挿入する。
        Console.WriteLine(string.Join(" ", strings));        
    }
}
10 個の数値が半角スペース区切りで与えられます。これらの数値すべて受け取り、
そのまま出力してください。ただし、数値を出力した直後に必ずカンマを、末尾にはさらに改行も出力
using System;
using System.Collections.Generic;
class Program
{
  static void Main()
  {
    string[] data = Console.ReadLine().Split(' ');
    List<int> nums = new List<int>();

    for(int i=0; i<data.Length; i++){
    nums.Add(int.Parse(data[i]));
    }

    Console.Write(string.Join(",",nums));
    Console.WriteLine(",");
  }
}
大きな数値Nが入力されます。 位の小さい方から 3 けたごとにカンマ区切りで出力してください。
ただし、Nのけた数は 3 の倍数とは限りません。
using System;
class Program
{
    static void Main()
    {

        // 標準入力から数値を文字列として取得
        string input = Console.ReadLine();

        // カンマ区切りにするための変数を初期化
        string output = string.Empty;
        int count = 0;

        // 数値を右から3桁ごとに区切ってカンマを挿入
        for (int i = input.Length - 1; i >= 0; i--)
        {
            output = input[i] + output;
            count++;

            // 3桁ごとにカンマを挿入 (最初のカンマを除く)
            if (count == 3 && i != 0)
            {
                output = "," + output;
                count = 0;
            }
        }
        Console.WriteLine(output);
    }
}
9 個の数値が半角スペース区切りで入力されます。この数値を 3 行 3 列の形式で出力してください。
具体的には、入力された数値を N_1 , N_2 , N_3 , …, N_9 とするとき、 1 行目にはN_1 からN_3 を、2 行目には N_4 から N_6 を、3 行目には N_7 から N_9 を出力してください。
ただし、数値の間には半角スペースを、各行の末尾には、半角スペースの代わりに改行を入れてください。
using System;
class Program
{
    static void Main()
    {

        string input = Console.ReadLine();
        string[] parts = input.Split(' ');

        for (int i = 0; i < 9; i++)
        {
            // 数値を出力し、3つごとに改行。余りが2であれば改行し、それ以外は半角スペース
            Console.Write(parts[i] + (i % 3 == 2 ? "\n" : " "));
        }
    }
}
九九表を出力してください。具体的には、出力のi行j列目 (1 ≦ i, j ≦ 9) の数値は i * j になるように出力
using System;
class Program
{
    static void Main()
    {
        for(int i=1; i<=9; i++)
        {
            for(int j=1; j<=9; j++)
            {
                Console.Write(i*j + (j % 9 == 0 ? "\n" : " "));
            }
        }
    }
}
自然数 N が与えられます。1 ≦ i ≦ N の各 i について、i 行目には以下の数列を出力してください。
* 1 以上 i 以下の数値をすべて、半角スペース区切りで出力してください

using System;
class Program
{
    static void Main()
    {
        int num = int.Parse(Console.ReadLine());
        int cnt = 1;
            for (int i=1; i <=num; i++)
            {
              for (int j=1; j <=cnt; j++)
               {
                  Console.Write(j + (j == cnt ? "\n" : " "));
               }
              cnt++;
            }
    }
}

自然数 N と N 個の要素の数列 M が与えられます。1 ≦ i ≦ N の各 i について、i 行目には以下の数列を出力してください。
* 1 以上 M_i 以下のすべての自然数を昇順、半角スペース区切りで出力してください

プログラミング練習問題「すべての行の長さが不定な 2 次元配列の出力」
問題を解いてスキルアップ!みんなも一緒に解いてみよう!
using System;
class Program
{
    static void Main()
    {
        int num = int.Parse(Console.ReadLine());
        string data = Console.ReadLine();
        string[] datas = data.Split(' ');
        for(int i=0; i<num; i++)
        {
            for(int j=1; j<= int.Parse(datas[i]); j++)
            {
                Console.Write(j + (j==int.Parse(datas[i]) ? "\n" : " "));
            }
        }
    }
}
自然数 N, M と N 個の自然数からなる数列 A と M 個の自然数からなる数列 B が与えられます。1 行目には数列 A の最初の B_1 個の値を出力し、 2 行目にはその次から B_2 個の値を出力します。このように、i 行目には数列 A の 1 + B_1 + B_2 + … + B_{i – 1} 番目の値から B_i 個の値を出力してください。言い換えると、数列 A の値を B_1 個、B_2個、… B_M 個で分割し、それぞれの数列を改行区切りで出力してください。
プログラミング練習問題「【行によって長さが違う二次元配列の表示】すべての行の長さと値が不定な 2 次元配列の出力」
問題を解いてスキルアップ!みんなも一緒に解いてみよう!
using System;
using System.Linq;
class Program
{
    static void Main()
    {
        string[] nmInput = Console.ReadLine().Split(' ');
        int X = int.Parse(nmInput[0]);
        int Y = int.Parse(nmInput[1]);

        int[] A = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        int[] B = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();

        int currentIndex = 0;

        // 数列 B に従って出力
        for (int i = 0; i < Y; i++)
        {
            int count = B[i];
            // 数列 A から currentIndex から count 個の要素を選択
            int[] subset = A.Skip(currentIndex).Take(count).ToArray();

            // 選択した要素を出力
            Console.WriteLine(string.Join(" ", subset));

            // currentIndex を更新
            currentIndex += count;
        }
    }
}
 コメントのガイドライン

皆様が安心して利用できるコメント欄の維持にご協力をお願いいたします。 荒らし・宣伝行為はもちろん、記事と関係のないコメントや過激なコメントは控えて頂きますようお願いいたします。 当方が不適切と判断したコメントも含め、上記に該当するコメントは、削除・規制の対象となる場合がありますので予めご了承ください。
0 Comments
Inline Feedbacks
View all comments