一週間で身につくC#勉強中20

prob8-3.

任意の数値の階乗を求めるプログラムを作りなさい。階乗とは、その数から一つずつ減らした全ての数を書けた数値のことであり、例えば、6の階乗は、6×5×4×3×2×1=720となる。

using System;

namespace prob8_3
{
    class Program
    {
        static void Main(string[] args)
        {
            int num, goukei;
            Console.Write("数字を入力してください:");
            num = int.Parse( Console.ReadLine());
            Console.Write("\n" + num);
            goukei = num;
            for(int i = num-1; i > 0; i--)
            {
                Console.Write($"×{i}");
                goukei *= i;
            }
            Console.Write($"={goukei}");*/

            }
        }
    }
}

prob8-4.

1から1000までの任意の数を乱数で発生させ、その数が何桁かを表示するプログラムを作りなさい。

using System;

namespace prob8_4
{
    class Program
    {
        static void Main(string[] args)
        {
            int num;
            Random rnd = new Random();
            num = rnd.Next(1, 1001);
            for(int i = 1000,keta=4; i > 0;i /=10, keta--)
            {
                if (num / i > 0)
                {
                    Console.WriteLine($"{num}は{keta}桁です。");
                    break;
                }
            }
        }
    }
}

12行目のようにforで2つの変数を定義することができます。但し、同じデータ型の変数に限ります。(ここでは両方の変数のデータ型がintです。)

prob8-5.

1から100までの数値のうち、3で割り切れるか、数値の中に3が含まれる数値を全て表示しなさい。

using System;

namespace prob8_5
{
    class Program
    {
        static void Main(string[] args)
        {
            for(int i = 1; i < 101; i++)
            {
                int keta1 = i % 10;  //一桁目の数字
                int keta2 = i /10 % 10;  //二桁目の数字
                if (i % 3 == 0)
                {
                    Console.Write($"{i} ");
                }else if(keta1==3 || keta2 == 3)
                {
                    Console.Write($"{i} ");
                }
            }
        }
    }
}

 

↑ お勧め書籍