Top >C# 練習問題集

3. 分岐

プログラムの実行には、以下のようなコードが必要です

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercise
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

または、

using System;

class Program
{
    static void Main(string[] args)
    {
    }
}

以降、解答例としては static void Main(...の部分のみ記述します

練習問題 3 - 1

int 型の変数 x、y にそれぞれ数値を入力し、x が y より大きい場合に、xはyより大きいという文を表示するプログラムを作成しなさい


static void Main(string[] args)
{
    int x = int.Parse(Console.ReadLine());
    int y = int.Parse(Console.ReadLine());

    if (x > y)
        Console.WriteLine("xはyより大きい");
}

練習問題 3 - 2

2つの整数値を入力し、大きい方(小さくない方)の数を表示するプログラムを作成しなさい


static void Main(string[] args)
{
    int x = int.Parse(Console.ReadLine());
    int y = int.Parse(Console.ReadLine());

    if (x > y)
        Console.WriteLine(x);
    else
        Console.WriteLine(y);
}

練習問題 3 - 3

int 型の変数 x、y にそれぞれ数値を入力し、x が y より大きい場合にはxはyより大きい、x が y より小さい場合にはxはyより小さいと表示するプログラムを作成しなさい


static void Main(string[] args)
{
    int x = int.Parse(Console.ReadLine());
    int y = int.Parse(Console.ReadLine());

    if (x > y)
        Console.WriteLine("xはyより大きい");
    else if (x < y)
        Console.WriteLine("xはyより小さい");
}

練習問題 3 - 4

int 型の変数 x、y にそれぞれ数値を入力し、x が y より大きい場合にはxはyより大きい、x が y より小さい場合にはxはyより小さい、x と y が等しい場合にはxとyは等しいと表示するプログラムを作成しなさい


static void Main(string[] args)
{
    int x = int.Parse(Console.ReadLine());
    int y = int.Parse(Console.ReadLine());

    if (x > y)
        Console.WriteLine("xはyより大きい");
    else if (x < y)
        Console.WriteLine("xはyより小さい");
    else
        Console.WriteLine("xとyは等しい");
}

練習問題 3 - 5

正の整数値を入力し、それが偶数か奇数かを判定するプログラムを作成しなさい


static void Main(string[] args)
{
    int x = int.Parse(Console.ReadLine());

    if ((x % 2) == 0)
        Console.WriteLine("偶数です");
    else
        Console.WriteLine("奇数です");
}

練習問題 3 - 6

整数値を入力し、以下の4つの分類から該当するものを表示するプログラムを作成しなさい

正の偶数正の奇数負の偶数負の奇数


static void Main(string[] args)
{
    int x = int.Parse(Console.ReadLine());

    if ((x % 2) == 0)
    {
        if (x >= 0)
            Console.WriteLine("正の偶数");
        else
            Console.WriteLine("負の偶数");
    }
    else
    {
        if (x >= 0)
            Console.WriteLine("正の奇数");
        else
            Console.WriteLine("負の奇数");
    }
}

練習問題 3 - 7

試験の点数を入力し、対応する成績を表示するプログラムを3種類作成しなさい


ケース1
static void Main(string[] args)
{
    int score = int.Parse(Console.ReadLine());

    if (score >= 60)
        Console.WriteLine("合格");
    else
        Console.WriteLine("不合格");
}
ケース2
static void Main(string[] args)
{
    int score = int.Parse(Console.ReadLine());

    if (score >= 80)
        Console.WriteLine("たいへんよくできました。");
    else if (score >= 60)
        Console.WriteLine("よくできました。");
    else
        Console.WriteLine("ざんねんでした。");
}
ケース3
static void Main(string[] args)
{
    int score = int.Parse(Console.ReadLine());

    if (score >= 80)
        Console.WriteLine("優");
    else if (score >= 70)
        Console.WriteLine("良");
    else if (score >= 60)
        Console.WriteLine("可");
    else
        Console.WriteLine("不可");
}

練習問題 3 - 8

中間試験と、期末試験の点数(それぞれ 0 ~ 100 点)を入力し、次の条件に従って合格、不合格を判定するプログラムを作成しなさい

  • 両方とも60点以上の場合、合格
  • 合計が130点以上の場合、合格
  • 合計が100点以上で、どちらかの試験が90点以上であれば合格
  • 上記以外は不合格

static void Main(string[] args)
{
    int score1 = int.Parse(Console.ReadLine());
    int score2 = int.Parse(Console.ReadLine());

    if (score1 >= 60 && score2 >= 60)
        Console.WriteLine("合格");
    else if ((score1 + score2) >= 130)
        Console.WriteLine("合格");
    else if ((score1 + score2) >= 100 && (score1 >= 90 || score2 >= 90))
        Console.WriteLine("合格");
    else
        Console.WriteLine("不合格");
}

別の記述例

    if ((score1 >= 60 && score2 >= 60)
            || ((score1 + score2) >= 130)
            || ((score1 + score2) >= 100 && (score1 >= 90 || score2 >= 90)))
        Console.WriteLine("合格");
    else
        Console.WriteLine("不合格");

練習問題 3 - 9

曜日と、午前、午後、夜間の区別を入力し、病院が開いているか、休診であるかを表示するプログラムを作成しなさい


static void Main(string[] args)
{
    Console.WriteLine("曜日を選択してください");
    Console.Write("0=日曜、1=月曜、2=火曜、3=水曜、4=木曜、5=金曜、6=土曜");
    int day = int.Parse(Console.ReadLine());

    Console.WriteLine("時間帯を選択してください");
    Console.Write("0=午前、1=午後、2=夜間");
    int zone = int.Parse(Console.ReadLine());

    bool    bopen = true;

    if (day == 0)
        bopen = false;
    else if (zone == 0 && (day == 2 || day == 5))
        bopen = false;
    else if (zone == 1 && day == 6)
        bopen = false;
    else if (zone == 2 && (day == 3 || day == 6))
        bopen = false;

    if (bopen)
        Console.WriteLine("診療しています。");
    else
        Console.WriteLine("休診です。");
}

練習問題 3 - 10

整数値 x, y を入力し、以下の条件に該当する場合、そうであることを示す文を表示しなさい

  • x は y より小さく、かつ、x と y は共に偶数である
  • x と y は等しく、かつ、負の数である
  • x は y より小さい、または、x は偶数である
  • x は 10 以下または 100 以上で、かつ、y は 10 以上かつ 100 以下である
  • x も y も負の数である、ではない( x も y も負の数である、の否定)

static void Main(string[] args)
{
    int x = int.Parse(Console.ReadLine());
    int y = int.Parse(Console.ReadLine());

    if (x < y && (x % 2) == 0 && (y % 2) == 0)
        Console.WriteLine("xはyより小さく、かつ、xとyは共に偶数である。");

    if (x == y && x < 0)
        Console.WriteLine("xとyは等しく、かつ、負の数である。");

    if (x < y || (x % 2) == 0)
        Console.WriteLine("xはyより小さい、または、xは偶数である。");

    if ((x <= 10 || x >= 100) && (y >= 10 && y <= 100))
        Console.WriteLine("xは10以下または100以上で、かつ、yは10以上かつ100以下である。");

    if (! (x < 0 && y < 0))
        Console.WriteLine("xもyも負の数である、ではない。");
}

練習問題 3 - 11

好きな鮨(すし)を選択させ、それに対応したメッセージを表示する、鮨占いプログラムを作成しなさい


static void Main(string[] args)
{
    Console.WriteLine("お好きな寿司を選んでください");
    Console.WriteLine("1:まぐろ 2:えび 3:こはだ 4:あなご 5:いくら");

    int sushi = int.Parse(Console.ReadLine());

    switch(sushi)
    {
        case 1:
            Console.WriteLine("何か良いことがあります。");
            break;
        case 2:
            Console.WriteLine("驚くほど良いことがあります。");
            break;
        case 3:
            Console.WriteLine("ちょっと良いことがあります。");
            break;
        case 4:
            Console.WriteLine("とても良いことがあります。");
            break;
        case 5:
            Console.WriteLine("そこそこ良いことがあります。");
            break;
    }
}

練習問題 3 - 12

月を表す数値を入力し、その月の日数を表示するプログラムを作成しなさい2 月は 28 日とします

また、1 ~ 12 以外の数値が入力された場合に、入力が間違っていますと表示しなさい


static void Main(string[] args)
{
    Console.WriteLine("何月ですか?" );
    int month = int.Parse(Console.ReadLine());

    switch( month )
    {
        case 2:
            Console.WriteLine( "28日です" );
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            Console.WriteLine( "30日です" );
            break;
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            Console.WriteLine( "31日です" );
            break;
        default:
            Console.WriteLine( "入力が間違っています" );
            break;
    }
}
PAPER BOWL
NEZEN