Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Chương trình C# tìm số lớn nhất trong 3 số

Thuật toán so sánh tuần tự để tìm giá trị lớn nhất trong 3 số nguyên.

Logic so sánh

  1. So sánh num1 với num2
  2. Nếu num1 > num2, so sánh num1 với num3
  3. Ngược lại, so sánh num2 với num3

Mã nguồn

using System;

namespace Demo {
    class MyApplication {
        static void Main(string[] args) {
            int num1 = 10, num2 = 20, num3 = 50;
            
            if (num1 > num2) {
                if (num1 > num3) {
                    Console.WriteLine("Số thứ nhất là lớn nhất!");
                } else {
                    Console.WriteLine("Số thứ ba là lớn nhất!");
                }
            } else if (num2 > num3) {
                Console.WriteLine("Số thứ hai là lớn nhất!");
            } else {
                Console.WriteLine("Số thứ ba là lớn nhất!");
            }
        }
    }
}

Kết quả

Số thứ ba là lớn nhất!

Cách viết gọn hơn (khuyên dùng)

// Dùng Math.Max lồng nhau
int max = Math.Max(num1, Math.Max(num2, num3));
Console.WriteLine("Số lớn nhất: " + max);

// Hoặc dùng LINQ (cần using System.Linq)
int max = new[] { num1, num2, num3 }.Max();

Mở rộng: Nhập từ bàn phím

Console.Write("Nhập số 1: "); int a = int.Parse(Console.ReadLine());
Console.Write("Nhập số 2: "); int b = int.Parse(Console.ReadLine());
Console.Write("Nhập số 3: "); int c = int.Parse(Console.ReadLine());

int max = Math.Max(a, Math.Max(b, c));
Console.WriteLine("Max = " + max);

Lưu ý

  • Code gốc dùng lồng if-else — dễ hiểu nhưng dài dòng.
  • Math.Max và LINQ Max() ngắn gọn, dễ đọc, hiệu năng tương đương.
  • Xử lý trường hợp bằng nhau: code gốc in "Số thứ ba lớn nhất" nếu num3 >= num1 và num3 >= num2.