Bài tập String trong C#
Để củng cố những kiến thức đã học String trong lập trình C#. Mời bạn đọc cùng thực hành qua một số bài tập C# cơ bản dưới đây.
1. Bài 01
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#.
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 Csharp
{
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();
}
}
}
Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.
2. Bài 02
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: eLib.VN Chia chuỗi thành các ký tự riêng lẻ: e L i b . v n
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 Csharp
{
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();
}
}
}
Biên dịch và chạy chương trình C# trên sẽ cho kết quả:
3. Bài 03
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ụ:
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 Csharp
{
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();
}
}
}
Chuỗi 1: Bai tap C# co giai
Chuỗi 2: Bai tap C# co giai
--> Hai chuỗi là bằng nhau
4. Bài 04
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.
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 Csharp
{
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();
}
}
}
5. Bài 05
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.
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 Csharp
{
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();
}
}
}
Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.
Biên dịch và chạy chương trình C# trên sẽ cho kết quả:
6. Bài 06
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.
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 Csharp
{
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();
}
}
}
Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.
Biên dịch và chạy chương trình C# trên sẽ cho kết quả:
Tham khảo thêm
- doc Bài tập C# kinh điển
- doc Bài tập C# cơ bản
- doc Bài tập kiểu dữ liệu trong C#
- doc Bài tập lệnh IF, ELSE, SWITCH trong C#
- doc Bài tập vòng lặp FOR, WHILE, DO...WHILE trong C#
- doc Bài tập mảng một chiều trong C#
- doc Bài tập hàm trong C#
- doc Bài tập struct trong C#
- doc Bài tập hướng đối tượng trong C#
- doc Bài tập đọc ghi file trong C#