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.