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.

Bài tập String trong C#

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();
        }
    }
}
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ả:

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

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();
        }
    }
}
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.
Kết quả:
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();
        }
    }
}
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.

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ả:

Sắp xếp chuỗi trong C#

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ả:

Kiểm tra chữ hoa chữ thường trong C#
Trên đây là một số bài tập về Bài tập string trong C#. Chúng tôi hy vọng, với những bài tập đơn giản này, giúp bạn đọc củng cố lại nguồn kiến thức của mình đã học về chuỗi trong C#. Chúc các bạn thành công!
Ngày:03/11/2020 Chia sẻ bởi:Chương

CÓ THỂ BẠN QUAN TÂM