Professional Documents
Culture Documents
Bài tập về chuỗi
Bài tập về chuỗi
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
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.ReadKey();
}
}
}
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();
Console.ReadKey();
}
}
}
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.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ụ:
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("------------------------------------------------------\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();
}
}
}
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;
l = 0;
bien_dem = 1;
l++;
}
Console.ReadKey();
}
}
}
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;
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("---------------------------------------------------------------
-----\n");
Console.Write("Nhap chuoi: ");
str = Console.ReadLine();
l = str.Length;
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.ReadKey();
}
}
}
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;
l = str1.Length;
string[] str2 = new string[l]; //khai bao mot chuoi khac
Console.ReadKey();
}
}
}
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;
nguyen_am = 0;
phu_am = 0;
len = str.Length;
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ụ:
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;
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ụ:
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);
Console.ReadKey();
}
}
}
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("-----------------------------------------------------\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;
Console.ReadKey();
}
}
}
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.ReadKey();
}
}
}
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.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.ReadKey();
}
}
}
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();
}
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();
}
}
}
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.ReadKey();
}
}
}
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.ReadKey();
}
}
}
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("--------------------------------------------------------------\
n");
Console.ReadKey();
}
}
}