You are on page 1of 24

Các thuộc tính của lớp String trong C#

Lớp String trong C# có hai thuộc tính:

 Chars: Lấy đối tượng Char tại một vị trí cụ thể trong đối tượng String hiện tại
 Length: Lấy số ký tự của đối tượng String hiện tại

Phương thức của lớp String trong C#

Lớp String có một số phương thức mà hữu ích cho bạn trong khi làm việc với các đối tượng
String trong C#. Bảng dưới đây liệt kê các phương thức được sử dụng phổ biến nhất:

public static int Compare(string strA, string strB): So sánh hai đối tượng String cụ thể và trả
về một integer mà chỉ vị trí có liên quan của chúng trong thứ tự sắp xếp.

public static int Compare(string strA, string strB, bool ignoreCase): So sánh hai đối tượng
String cụ thể và trả về một integer mà chỉ vị trí có liên quan của chúng trong thứ tự sắp xếp. Tuy
nhiên, nó bỏ qua sự phân biệt kiểu nếu tham số Boolean là true.

public static string Concat(string str0, string str1): Nối chuỗi hai đối tượng String.

public static string Concat(string str0, string str1, string str2): Nối chuỗi ba đối tượng String.

public static string Concat(string str0, string str1, string str2, string str3): Nối chuỗi bốn đối
tượng String.

public bool Contains(string value): Trả về một giá trị chỉ dẫn có hay không đối tượng String đã
cho xuất hiện bên trong chuỗi này.

public static string Copy(string str): Tạo một đối tượng String mới với cùng giá trị như chuỗi
đã cho.

public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count):
Sao chép một số ký tự cụ thể từ một vị trí đã cho của đối tượng String tới một vị trí đã xác định
trong một mảng các ký tự Unicode.

public bool EndsWith(string value): Xác định có hay không phần kết thúc của đối tượng String
là so khớp với chuỗi đã cho.

public bool Equals(string value): Xác định có hay không đối tượng String hiện tại và đối tượng
String đã cho là có cùng giá trị.

public static bool Equals(string a, string b): Xác định có hay không hai đối tượng String đã
cho có cùng giá trị.

public static string Format(string format, Object arg0): Thay thế một hoặc nhiều mục định
dạng trong một chuỗi đã cho với biểu diễn chuỗi của một đối tượng cụ thể.
public int IndexOf(char value): Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên của
ký tự Unicode đã cho trong chuỗi hiện tại.

public int IndexOf(string value): Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu tiên
của chuỗi đã cho trong Instance (sự thể hiện) này.

public int IndexOf(char value, int startIndex): Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất
hiện đầu tiên của ký tự Unicode đã cho trong chuỗi này, bắt đầu tìm kiếm tại vị trí của ký tự đã
cho.

public int IndexOf(string value, int startIndex): Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất
hiện đầu tiên của chuỗi đã cho trong Instance (sự thể hiện) này, bắt đầu tìm kiếm tại vị trí của ký
tự đã cho.

public int IndexOfAny(char[] anyOf): Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện đầu
tiên của Instance (sự thể hiện) này của bất kỳ ký tự nào trong một mảng ký tự Unicode đã xác
định.

public int IndexOfAny(char[] anyOf, int startIndex): Trả về chỉ mục (dựa trên cơ sở 0) cho sự
xuất hiện đầu tiên của Instance (sự thể hiện) này của bất kỳ ký tự nào trong một mảng ký tự
Unicode đã xác định, bắt đầu tìm kiếm tại vị trí của ký tự đã cho.

public string Insert(int startIndex, string value): Trả về một chuỗi mới trong đó một chuỗi đã
cho được chèn tại một vị trí có chỉ mục đã xác định trong đối tượng String hiện tại.

public static bool IsNullOrEmpty(string value): Chỉ rằng có hay không chuỗi đã cho là null
hoặc là một chuỗi Empty.

public static string Join(string separator, params string[] value): Nối chuỗi tất cả phần tử của
một mảng chuỗi, bởi sử dụng Separator (bộ tách) đã cho giữa mỗi phần tử.

public static string Join(string separator, string[] value, int startIndex, int count): Nối chuỗi
các phần tử đã xác định của một mảng chuỗi, bởi sử dụng Separator (bộ tách) đã cho giữa mỗi
phần tử.

public static string Join(string separator, string[] value, int startIndex, int count): Nối chuỗi
các phần tử đã xác định của một mảng chuỗi, bởi sử dụng Separator (bộ tách) đã cho giữa mỗi
phần tử.

public int LastIndexOf(char value): Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện cuối
cùng của ký tự Unicode đã cho bên trong đối tượng String hiện tại.

public int LastIndexOf(string value): Trả về chỉ mục (dựa trên cơ sở 0) cho sự xuất hiện cuối
cùng của một chuỗi đã cho bên trong đối tượng String hiện tại.

public string Remove(int startIndex): Gỡ bỏ tất cả ký tự trong Instance hiện tại, bắt đầu tại vị
trí đã xác định và tiếp tục tới vị trí cuối cùng, và trả về chuỗi đó.
public string Remove(int startIndex, int count): Gỡ bỏ số ký tự đã cho trong chuỗi hiện tại bắt
đầu tại một vị trí đã xác định và trả về chuỗi đó.

public string Replace(char oldChar, char newChar): Thay thế tất cả ký tự Unicode đã cho
xuất hiện trong đối tượng String hiện tại với ký tự Unicode đã xác định và trả về chuỗi mới.

public string Replace(string oldValue, string newValue): Thay thế tất cả chuỗi đã cho xuất
hiện trong đối tượng String hiện tại với đối tượng string đã xác định và trả về chuỗi mới.

public string[] Split(params char[] separator): Trả về một mảng chuỗi mà chứa các chuỗi phụ
trong đối tượng String hiện tại, được giới hạn bởi các phần tử của một mảng ký tự Unicode đã
cho.

public string[] Split(char[] separator, int count): Trả về một mảng chuỗi mà chứa các chuỗi
phụ trong đối tượng String hiện tại, được giới hạn bởi các phần tử của một mảng ký tự Unicode
đã cho. Tham số int xác định số chuỗi phụ tối đa để trả về.

public bool StartsWith(string value): Xác định có hay không phần bắt đầu của instance của
chuỗi này so khớp với chuỗi đã cho.

public char[] ToCharArray(): Trả về một mảng ký tự Unicode với tất cả ký tự trong đối tượng
String hiện tại.

public char[] ToCharArray(int startIndex, int length): Trả về một mảng ký tự Unicode với tất
cả ký tự trong đối tượng String hiện tại, bắt đầu từ chỉ mục đã xác định và tới độ dài đã cho.

public string ToLower(): Trả về một bản sao của chuỗi này đã được biến đổi thành chữ thường.

public string ToUpper(): Trả về một bản sao của chuỗi này đã được biến đổi thành chữ hoa.

public string Trim(): Gỡ bỏ tất cả ký tự whitespace từ đối tượng String hiện tại.
BÀI TẬP XỬ LÝ CHUỖI
1. Nhập và in chuỗi trong C#
2. Tìm độ dài chuỗi trong C# (không sử dụng hàm trong thư viện)
3. Chương trình C# để chia chuỗi thành các ký tự riêng lẻ
4. Chương trình C# để in các ký tự riêng lẻ của chuỗi theo chiều đảo ngược
5. Chương trình C# để đếm số từ có trong một chuỗi
6. So sánh chuỗi trong C#
7. Chương trình C# để đếm số chữ cái, số chữ số, số ký tự đặc biệt trong một
chuỗi
8. Sao chép chuỗi trong C#
9. Chương trình C# để đếm số phụ âm, nguyên âm trong chuỗi
10. Tìm ký tự xuất hiện nhiều nhất trong chuỗi C#
11. Chương trình C# để sắp xếp mảng các ký tự trong chuỗi theo thứ tự tăng
dần
12. Sắp xếp các chuỗi trong C#
13. Chương trình C# để lấy chuỗi con từ một chuỗi đã cho
14. Kiểm tra chuỗi con trong C#
15. Chương trình C# để chuyển chữ hoa thành chữ thường và ngược lại
16. Kiểm tra username và password trong C#
17. Chương trình C# để tìm kiếm vị trí chuỗi con trong chuỗi đã cho
18. Kiểm tra chữ hoa, chữ thường trong C#
19. Chương trình C# để đếm số lần xuất hiện của chuỗi con trong một chuỗi
20. Chương trình C# để chèn chuỗi con trước vị trí xuất hiện lần đầu của một
chuỗi con khác trong một chuỗi
Bài tập C#: Nhập và in chuỗi
Viết chương trình C# để nhập một chuỗi từ bàn phím, rồi sau đó in chuỗi trên màn hình.

Đây là bài tập C# cơ bản giúp bạn làm quen với cách khai báo một biến kiểu string trong C#.

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 nhập và in chuỗi trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str; /* Khai bao mot chuoi */

Console.Write("\nNhap va in chuoi trong C#:\n");


Console.Write("-----------------------------------\n");
Console.Write("Nhap mot chuoi: ");
str = Console.ReadLine();
Console.Write("Ban vua nhap chuoi: {0}\n", str);

Console.ReadKey();
}
}
}

Bài tập C#: Tìm độ dài chuỗi (không sử dụng hàm)


Viết chương trình C# để tìm độ dài của một chuỗi mà không sử dụng hàm trong thư việ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 độ dài chuỗi trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str; /* Khai bao mot chuoi */
int l = 0;
Console.Write("\nTim do dai chuoi trong C#:\n");
Console.Write("---------------------------------\n");
Console.Write("Nhap mot chuoi: ");
str = Console.ReadLine();

foreach (char chr in str)


{
l += 1;

Console.Write("Do dai chuoi la: {0}\n\n", l);

Console.ReadKey();
}
}
}

Bài tập C#: Chia chuỗi thành các ký tự riêng lẻ


Viết chương trình C# để chia một chuỗi thành các ký tự riêng lẻ. Ví dụ:

Chuỗi ban đầu: vietjack.com


Chia chuỗi thành các ký tự riêng lẻ: v i e t j a c k . c o m

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 chia chuỗi thành các ký tự riêng lẻ
trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str; /* Khai bao mot chuoi */
int l = 0;

Console.Write("\nChia chuoi thanh cac ky tu rieng le trong C#:\


n");
Console.Write("-----------------------------------------------\
n");
Console.Write("Nhap mot chuoi: ");
str = Console.ReadLine();
Console.Write("In tung ky tu trong chuoi ban dau: ");
while (l <= str.Length - 1)
{
Console.Write("{0} ", str[l]);
l++;
}
Console.Write("\n\n");

Console.ReadKey();
}
}
}

Bài tập C#: In các ký tự riêng lẻ của chuỗi theo chiều đảo
ngược
Viết chương trình C# để in các ký tự riêng lẻ của một chuỗi theo chiều đảo ngược. Ví dụ:

Chuỗi ban đầu: vietjack.com


In các ký tự theo chiều đảo ngược: m o c . k c a j t e i v

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 in các ký tự riêng lẻ của chuỗi theo
chiều đảo ngược trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str; /* Khai bao mot chuoi */
int l = 0;

Console.Write("\nIn cac ky tu rieng le cua chuoi theo chieu dao


nguoc trong C#:\n");

Console.Write("------------------------------------------------------\n");
Console.Write("Nhap mot chuoi: ");
str = Console.ReadLine();

l = str.Length - 1;
Console.Write("In cac ky tu theo chieu dao nguoc: \n");
while (l >= 0)
{
Console.Write("{0} ", str[l]);
l--;
}
Console.Write("\n\n");

Console.ReadKey();
}
}
}

Bài tập C#: Đếm số từ trong một chuỗi


Viết chương trình C# để đếm số từ có trong một chuỗi. Ví dụ:

Nhập chuỗi: VietJack xin chao cac ban


Chuỗi vừa nhập có 5 từ

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 đếm số từ trong một chuỗi trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str; /* Khai bao mot chuoi */
int bien_dem, l;

Console.Write("\nDem so tu trong mot chuoi trong C#:\n");


Console.Write("-------------------------------------\n");
Console.Write("Nhap mot chuoi: ");
str = Console.ReadLine();

l = 0;
bien_dem = 1;

/* lap toi phan cuoi cua chuoi */


while (l <= str.Length - 1)
{
/* kiem tra xem ky tu hien tai co phai la khoang trang
* hay la ky tu new line hay ky tu tab */
if (str[l] == ' ' || str[l] == '\n' || str[l] == '\t')
{
bien_dem++;
}

l++;
}

Console.Write("Tong so tu co trong chuoi tren la: {0}\n",


bien_dem);

Console.ReadKey();
}
}
}

Bài tập C#: So sánh hai chuỗi


Viết chương trình C# để so sánh hai chuỗi để xem hai chuỗi này có bằng nhau không. Ví dụ:

Chuỗi 1: Bai tap C# co giai


Chuỗi 2: Bai tap C# co giai
--> Hai chuỗi là bằng nhau

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 so sánh hai chuỗi trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str1, str2; //khai bao hai chuoi
int flg = 0;
int i = 0, l1, l2, yn = 0;

Console.Write("\nSo sanh hai chuoi trong C#:\n");


Console.Write("----------------------------------\n");
Console.Write("Nhap chuoi thu nhat: ");
str1 = Console.ReadLine();

Console.Write("Nhap chuoi thu hai: ");


str2 = Console.ReadLine();

l1 = str1.Length;
l2 = str2.Length;
/*so sanh xem hai chuoi co do dai bang nhau khong*/
if (l1 == l2)
{
for (i = 0; i < l1; i++)
{
if (str1[i] != str2[i])
{
yn = 1;
i = l1;

}
}
}
/*khoi tao bien flg khi hai chuoi co do dai la bang, ngan hon, hay
dai hon*/
if (l1 == l2)
flg = 0;
else if (l1 > l2)
flg = 1;
else if (l1 < l2)
flg = -1;
/*hien thi thong bao tuong ung khi hai chuoi co do dai la bang,
ngan hon, hay dai hon*/
if (flg == 0)
{
if (yn == 0)
Console.Write("\nHai chuoi co do dai bang nhau \nva hai
chuoi cung giong nhau.\n\n");
else
Console.Write("\nHai chuoi co do dai bang nhau \nnhung hai
chuoi la khong giong nhau.\n\n");
}
else if (flg == -1)
{
Console.Write("\nChuoi thu nhat ngan hon chuoi thu hai.\n\n");
}
else
{
Console.Write("\nChuoi thu nhat dai hon chuoi thu hai.\n\n");
}

Console.ReadKey();
}
}
}

Bài tập C#: Đếm số chữ cái, số chữ số, số ký tự đặc biệt của
chuỗi
Viết chương trình C# để đếm số chữ cái, số chữ số, số ký tự đặc biệt trong một chuỗi. Ví dụ:

Nhập chuỗi: Tuyen tap 150 bai tap C# co giai tai VietJack!
Chuỗi này có: 32 chữ cái
3 chữ số
11 ký tự đặc biệt (bạn nhớ là khoảng trắng cũng là ký tự đặc
biệt nhé)

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 đếm số chữ cái, số chữ số của chuỗi
trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str; //khai bao chuoi
int chu_cai, chu_so, ky_tu_dac_biet, i, l;
chu_cai = chu_so = ky_tu_dac_biet = i = 0;

Console.Write("\nDem so chu cai, so chu so, so ky tu dac biet cua


chuoi trong C#:\n");

Console.Write("---------------------------------------------------------------
-----\n");
Console.Write("Nhap chuoi: ");
str = Console.ReadLine();
l = str.Length;

/* kiem tra tung ky tu trong chuoi*/

while (i < l)
{
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' &&
str[i] <= 'Z'))
{
chu_cai++;
}
else if (str[i] >= '0' && str[i] <= '9')
{
chu_so++;
}
else
{
ky_tu_dac_biet++;
}

i++;
}

Console.Write("So chu cai trong chuoi la: {0}\n", chu_cai);


Console.Write("So chu so trong chuoi la: {0}\n", chu_so);
Console.Write("So ky tu dac biet trong chuoi la: {0}\n\n",
ky_tu_dac_biet);

Console.ReadKey();
}
}
}

Bài tập C#: Sao chép chuỗi


Viết chương trình C# để sao chép các ký tự từ chuỗi này sang chuỗi khác.

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 sao chép chuỗi trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str1; //khai bao mot chuoi
int i, l;

Console.Write("\nSao chep chuoi trong C#:\n");


Console.Write("------------------------------\n");
Console.Write("Nhap mot chuoi: ");
str1 = Console.ReadLine();

l = str1.Length;
string[] str2 = new string[l]; //khai bao mot chuoi khac

/* sao chep tung ky tu tu chuoi str1 sang chuoi str2*/


i = 0;
while (i < l)
{
string tmp = str1[i].ToString();
str2[i] = tmp;
i++;
}
Console.Write("\nIn chuoi ban dau: {0}\n", str1);
Console.Write("In chuoi sao: {0}\n", string.Join("", str2));
Console.Write("So ky tu da duoc sao chep: {0}\n\n", i);

Console.ReadKey();
}
}
}

Bài tập C#: Đếm số phụ âm, nguyên âm


Viết chương trình C# để đếm số phụ âm, số nguyên âm có trong một chuỗi bất kỳ. Ví dụ:

Nhập chuỗi: VietJack


Chuỗi trên có 3 nguyên âm, 5 phụ âm

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 đếm số phụ âm, nguyên âm trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str; //khai bao mot chuoi
int i, len, nguyen_am, phu_am;

Console.Write("\nDem so nguyen am, phu am trong chuoi C#:\n");


Console.Write("----------------------------------------------\n");
Console.Write("Nhap mot chuoi: ");
str = Console.ReadLine();

nguyen_am = 0;
phu_am = 0;
len = str.Length;

for (i = 0; i < len; i++)


{

if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i]


== 'o' ||
str[i] == 'u' || str[i] == 'A' || str[i] == 'E' || str[i]
== 'I' ||
str[i] == 'O' || str[i] == 'U')
{
nguyen_am++;
}
else if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' &&
str[i] <= 'Z'))
{
phu_am++;
}
}
Console.Write("\nSo nguyen am co trong chuoi la: {0}\n",
nguyen_am);
Console.Write("So phu am co trong chuoi la: {0}\n\n", phu_am);

Console.ReadKey();
}
}
}

Bài tập C#: 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: VietJack xin chao cac ban


Ký tự xuất hiện nhiều lần nhất là 'a' và xuất hiện 4 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 VietJackCsharp
{
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();
}
}
}
Bài tập C#: Sắp xếp mảng các ký tự trong chuỗi theo thứ tự
tăng dần
Viết chương trình C# để nhập một chuỗi, sau đó sắp xếp mảng các ký tự trong chuỗi theo thứ tự
tăng dần rồi in kết quả trên màn hinh. Ví dụ:

Nhập chuỗi: vietjack


Mảng ký tự theo thứ tự tăng dần: a c e i j k t v

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 sắp xếp mảng các ký tự trong chuỗi
theo thứ tự tăng dần trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str; //khai bao mot chuoi
char[] arr1;
char ch;
int i, j, l;
Console.Write("\nSap xep mang ky tu cua chuoi theo thu tu tang dan
trong C#:\n");

Console.Write("------------------------------------------------------------\
n");
Console.Write("Nhap mot chuoi: ");
str = Console.ReadLine();
l = str.Length;
arr1 = str.ToCharArray(0, l);

for (i = 1; i < l; i++)


for (j = 0; j < l - i; j++)

if (arr1[j] > arr1[j + 1])


{
ch = arr1[j];
arr1[j] = arr1[j + 1];
arr1[j + 1] = ch;
}
Console.Write("Sau khi sap xep, chuoi co dang: \n");
foreach (char c in arr1)
{
ch = c;
Console.Write("{0} ", ch);
}
Console.WriteLine("\n");

Console.ReadKey();
}
}
}

Bài tập C#: Sắp xếp chuỗi


Viết chương trình C# để nhập 3 chuỗi từ bàn phím, sắp xếp các chuỗi rồi in kết quả trên màn
hình.

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 sắp xếp chuỗi trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string[] arr1;
string temp;
int n, i, j, l;

Console.Write("\nSap xep chuoi trong C# - su dung Bubble Sort:\


n");

Console.Write("-----------------------------------------------------\n");
Console.Write("Nhap so chuoi can sap xep: ");
n = Convert.ToInt32(Console.ReadLine());
arr1 = new string[n];
Console.Write("Nhap {0} chuoi tu ban phim:\n", n);
for (i = 0; i < n; i++)
{
arr1[i] = Console.ReadLine();
}
l = arr1.Length;

for (i = 0; i < l; i++)


{
for (j = 0; j < l - 1; j++)
{
if (arr1[j].CompareTo(arr1[j + 1]) > 0)
{
//cach thuc trao doi gia tri
temp = arr1[j];
arr1[j] = arr1[j + 1];
arr1[j + 1] = temp;
}
}
}
Console.Write("\nIn thu tu cac chuoi sau khi da sap xep: \n");
for (i = 0; i < l; i++)
{
Console.WriteLine(arr1[i] + " ");
}

Console.ReadKey();
}
}
}

Bài tập C#: Lấy chuỗi con từ chuỗi đã cho


Viết chương trình C# để lấy chuỗi con, với vị trí bắt đầu và độ dài chuỗi con xác định, từ chuỗi
đã cho.

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 lấy chuỗi con từ chuỗi đã cho trong
C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str; //khai bao mot chuoi
char[] arr1;
int pos, l, ln, c = 0;

Console.Write("\nLay chuoi con trong C#:\n");


Console.Write("--------------------------------------------\n");

Console.Write("Nhap mot chuoi: ");


str = Console.ReadLine();
ln = str.Length;
arr1 = str.ToCharArray(0, ln);

Console.Write("Nhap vi tri bat dau de lay chuoi con: ");


pos = Convert.ToInt32(Console.ReadLine());

Console.Write("Nhap do dai cua chuoi con: ");


l = Convert.ToInt32(Console.ReadLine());

Console.Write("Chuoi con thu duoc tu chuoi ban dau la: ");


while (c < l)
{
Console.Write(arr1[pos + c - 1]);
c++;
}
Console.Write("\n\n");

Console.ReadKey();
}
}
}

Bài tập C#: Kiểm tra chuỗi con


Viết chương trình C# để kiểm tra xem một chuỗi đã cho có phải là chuỗi con của một chuỗi
không.

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 kiểm tra chuỗi con trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str1, str2; //Khai bao hai chuoi
bool m;

Console.Write("\nKiem tra chuoi con trong C#:\n");


Console.Write("-----------------------------------------\n");
Console.Write("Nhap mot chuoi: ");
str1 = Console.ReadLine();

Console.Write("Nhap chuoi con de kiem tra: ");


str2 = Console.ReadLine();
m = str1.Contains(str2); // ham nay tra ve gia tri boolean
if (m) // kiem tra true, false
Console.Write("Chuoi con co mat trong chuoi ban dau.\n\n");
else
Console.Write("Chuoi con khong co mat trong chuoi ban dau. \n\
n");

Console.ReadKey();
}
}
}

Bài tập C#: Chuyển chữ hoa thành chữ thường và ngược lại
Viết chương trình C# để nhập một chuỗi, sau đó chuyển chữ hoa thành chữ thường và chữ thường
thành chữ hoa rồi in chuỗi kết quả trên màn hình.

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 chuyển chữ hoa thành chữ thường và
ngược lại trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str1; //Khai bao hai chuoi
char[] arr1;
int l, i;
l = 0;
char ch;
Console.Write("\nChuyen chu hoa thanh chu thuong va nguoc lai
trong C#:\n");

Console.Write("--------------------------------------------------------------\
n");
Console.Write("Nhap mot chuoi: ");
str1 = Console.ReadLine();
l = str1.Length;
arr1 = str1.ToCharArray(0, l); // chuyen chuoi thanh mang ky tu.

Console.Write("\nSau khi chuyen doi, chuoi co dang: ");


for (i = 0; i < l; i++)
{
ch = arr1[i];
if (Char.IsLower(ch)) // kiem tra ky tu thuong
Console.Write(Char.ToUpper(ch)); // chuyen doi chu thuong
thanh chu hoa.
else
Console.Write(Char.ToLower(ch)); // chuyen doi chu hoa
thanh chu thuong.
}
Console.Write("\n\n");

Console.ReadKey();
}
}
}

Bài tập C#: Kiểm tra username và password


Viết chương trình C# để kiểm tra username và password và in ra thông báo rằng người dùng đã
nhập đúng hay sai username và password.
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 kiểm tra username và password trong
C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string username, password; //khai bao hai chuoi
int ctr = 0;
Console.Write("\nKiem tra username va password trong C#:\n");
Console.Write("Mac dinh username va password la: vietjack va 1234\
n");

Console.Write("------------------------------------------------------\n");

do
{
Console.Write("Nhap username: ");
username = Console.ReadLine();

Console.Write("Nhap password: ");


password = Console.ReadLine();

if (username != "vietjack" || password != "1234")


ctr++;
else
ctr = 1;

}
while ((username != "vietjack" || password != "1234") && (ctr !=
3));

if (ctr == 3)
Console.Write("\nBan da nhap sai username va password qua 3
lan. Xin hay thu lai!\n\n");
else
Console.Write("\nBan da nhap mat khau dung!\n\n");

Console.ReadKey();
}
}
}

Bài tập C#: Tìm vị trí chuỗi con


Viết chương trình C# để tìm kiếm vị trí của chuỗi con trong chuỗi đã cho, rồi in kết quả trên màn
hình.

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 vị trí chuỗi con trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str1; //khai bao chuoi
string chuoi_con; //khai bao chuoi con can tim kiem
Console.Write("\nTim vi tri chuoi con trong C#:\n");
Console.Write("---------------------------------------\n");
Console.Write("Nhap mot chuoi: ");
str1 = Console.ReadLine();

Console.Write("Nhap chuoi con can tim kiem: ");


chuoi_con = Console.ReadLine();
int vi_tri = str1.IndexOf(chuoi_con);
if (vi_tri < 0)
Console.WriteLine("Khong tim thay chuoi con trong chuoi da
cho!\n");
else
Console.WriteLine("Tim thay chuoi con '{0}' trong chuoi '{1}'
tai vi tri {2}",
chuoi_con, str1, vi_tri);

Console.ReadKey();
}
}
}

Bài tập C#: Kiểm tra chữ hoa chữ thường


Viết chương trình C# để kiểm tra xem ký tự vừa nhập có phải là chữ cái không, sau đó kiểm tra
xem đó là chữ hoa hay chữ thường rồi in thông báo tương ứng trên màn hình.

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 kiểm tra chữ hoa chữ thường trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
Console.Write("\nKiem tra co phai la chu cai, sau do kiem tra chu
hoa chu thuong trong C#\n");

Console.Write("---------------------------------------------------------------
---------\n");
Console.Write("Nhap mot ky tu: ");
char ch = (char)Console.Read();
if (Char.IsLetter(ch))
{
if (Char.IsUpper(ch))
{
Console.WriteLine("\nKy tu vua nhap la chu hoa.\n");
}
else
{
Console.WriteLine("\nKy tu vua nhap la chu thuong.\n");
}
}
else
{
Console.WriteLine("\nKy tu vua nhap khong phai la chu cai.\
n");
}

Console.ReadKey();
}
}
}

Bài tập C#: Đếm số lần xuất hiện của chuỗi con
Viết chương trình C# để nhập hai chuỗi: một chuỗi ban đâu và một chuỗi con cần đếm, sau đó
đếm số lần xuất hiện của chuỗi con trong chuỗi ban đầu.

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 đếm số lần xuất hiện của chuỗi con
trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str1; //khai bao chuoi ban dau
string chuoi_con; //khai bao chuoi con can tim
int strt = 0;
int cnt = -1;
int idx = -1;

Console.Write("\nDem so lan xuat hien cua chuoi con trong C#:\n");


Console.Write("---------------------------------------------\n");

Console.Write("Nhap chuoi ban dau: ");


str1 = Console.ReadLine();
Console.Write("Nhap chuoi con can tim: ");
chuoi_con = Console.ReadLine();

while (strt != -1)


{
strt = str1.IndexOf(chuoi_con, idx + 1);
cnt += 1;
idx = strt;
}
Console.Write("Chuoi con '{0}' xuat hien " + cnt + " lan.\n",
chuoi_con);

Console.ReadKey();
}
}
}

Bài tập C#: Chèn chuỗi con


Viết chương trình C# để chèn chuỗi con trước vị trí xuất hiện lần đầu của chuỗi con khác trong
một chuỗi ban đầu. Ví dụ:

Chuỗi ban đầu: VietJack chao cac ban


Chuỗi cần tìm kiếm: chao
Chuỗi cần chèn: xin
--> Chuỗi kết quả: VietJack xin chao cac ban

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 chèn chuỗi con trong C#:

using System;

namespace VietJackCsharp
{
class TestCsharp
{
static void Main(string[] args)
{
string str1; //khai bao chuoi ban dau
string chuoi_vi_tri; //khai bao chuoi can tim
string chuoi_de_chen; //khai bao chuoi de chen
int i;

Console.Write("\nChuong trinh C# de chen chuoi con truoc vi tri


xuat hien lan dau \ncua chuoi con khac trong mot chuoi ban dau:\n");

Console.Write("--------------------------------------------------------------\
n");

Console.Write("Nhap chuoi ban dau: ");


str1 = Console.ReadLine();
Console.Write("Nhap chuoi de tim kiem vi tri: ");
chuoi_vi_tri = Console.ReadLine();
Console.Write("Nhap chuoi de chen: ");
chuoi_de_chen = Console.ReadLine();
i = str1.IndexOf(chuoi_vi_tri); // xac dinh vi tri xuat hien dau
tien cua chuoi_vi_tri
chuoi_de_chen = " " + chuoi_de_chen.Trim() + " "; //them khoang
trang
str1 = str1.Insert(i, chuoi_de_chen);
Console.Write("Chuoi ket qua: {0}\n\n", str1);

Console.ReadKey();
}
}
}

You might also like