Lập trình C# - Tìm ký tự xuất hiện nhiều nhất trong chuỗi

Tìm ký tự xuất hiện nhiều nhất trong chuỗi

Viết chương trình C# để nhập một chuỗi, sau đó tìm ký tự xuất hiện nhiều nhất trong chuỗi đó và in kết quả trên màn hình. Ví dụ:

Nhập chuỗi: hiepsiit 
Ký tự xuất hiện nhiều lần nhất là 'i' và xuất hiện 3 lần

Chương trình C#

Dưới đây là chương trình C# minh họa lời giải cho bài tập tìm ký tự xuất hiện nhiều nhất trong chuỗi trong C#:

using System;

namespace Csharp
{
    class TestCsharp
    {
        static void Main(string[] args)
        {
            string str; //khai bao mot chuoi
            int[] tan_suat = new int[255];
            int i = 0, max, l;
            int ascii;

            Console.Write("\nTim ky tu xuat hien nhieu nhat trong chuoi C#:\n");
            Console.Write("--------------------------------------------------\n");
            Console.Write("Nhap mot chuoi: ");
            str = Console.ReadLine();
            l = str.Length;

            for (i = 0; i < 255; i++)  //thiet lap tan suat xuat hien cua tat ca ky tu ve 0  
            {
                tan_suat[i] = 0;
            }
            /* Doc tan suat cua moi ky tu */
            i = 0;
            while (i < l)
            {
                ascii = (int)str[i];
                tan_suat[ascii] += 1;

                i++;
            }
            
            max = 0;
            for (i = 0; i < 255; i++)
            {
                if (i != 32)
                {
                    if (tan_suat[i] > tan_suat[max])
                        max = i;
                }
            }
            Console.Write("Ky tu xuat hien nhieu nhat '{0}' va xuat hien {1} lan.\n\n", (char)max, tan_suat[max]);

            Console.ReadKey();
        }
    }
}
Xem ví dụ

Biên dịch và chạy chương trình C# trên sẽ cho kết quả:

Tim ky tu xuat hien nhieu nhat trong chuoi C#:
--------------------------------------------------
Nhap mot chuoi: hiepsiit Xin chao cac ban
Ky tu xuat hien nhieu nhat 'i' va xuat hien 4 lan.