Cách đếm số chữ số của một số nguyên trong C#
Trong bài viết này mình sẽ hướng dẫn các bạn cách đếm số chữ số của một số nguyên trong C#. Đây là một bài tập thường gặp khi bắt đầu học bất kỳ một ngôn ngữ lập trình nào.
Chúng ta cùng xem qua một số ví dụ để hiểu rõ hơn về chương trình đếm số chữ số nhé.
Ví dụ: Giả sử ta có số 432 do người dùng nhập vào, khi đó chương trình sẽ thực hiện và cho ra kết quả là 3. Bởi vì trong số 432 có 3 chữ số là 4, 3, 2.
Vậy làm sao để có thể làm được việc này, các bạn cùng xem mình sử dụng hai toác tử / và % để thực hiện.
Bài viết này được đăng tại [free tuts .net]
Lần 1: 432 % 10 = 2 | 432 / 10 = 43 => số thứ nhất là 2 Lần 2: 43 % 10 = 3 | 43 / 10 = 4 => số thứ hai là 3 Lần 3: 4 % 10 = 4 | 4 / 10 = 0 => số thứ ba là 4
Như vậy sau khi thực hiện thì ta đếm được số 432 có 3 chữ số là 4, 3, 2. Như vậy chỉ cần ta viết được thuật toán trong C# là có thể giải được bài toán này rồi.
1. Thuật toán đếm số chữ số của một số nguyên trong C#
Bước 1: Khai báo một biến và lưu giá trị đầu vào do người dùng nhập.
Bước 2: Khai báo một biến khác để lưu số lượng chữ số.
Bước 3: Thực hiện một vòng lặp while với điều kiện (số > 0).
Bước 4: Trong vòng lặp while thực hiện chia số cho 10 và tăng biến đếm lên 1.
while (number > 0) { number = number / 10; count++; }
2. Ví dụ: Đếm số chữ số của một số nguyên trong C#
Trong ví dụ này mình sẽ áp dụng thuật toán đã viết ở trên để tạo một chương trình đếm số chữ số của một số nguyên trong C#.
Như vậy, việc đầu tiên mình sẽ khai báo hai biến là number, count để lưu giá trị đầu vào và số lượng chữ số.
int number = 0, count = 0;
Tiếp đến sẽ lấy đầu vào từ người dùng.
Console.Write("Nhap vao mot so nguyen: "); number = Convert.ToInt32(Console.ReadLine());
Sử dụng vòng lặp while với điều kiện number > 0, bên trong sẽ thực hiện chia number cho 10 và tăng count++.
while (number > 0) { //thực hiện chia number cho 10 và tăng count++ number = number / 10; count++; }
Sau khi kết thúc vòng lặp while, ta được biến count chính là số lượng chữ số của number. Khi đó chỉ cần hiển thị count ra màn hình.
Full code:
using System; using System.Linq; using System.Text; using System.Collections.Generic; namespace ConsoleApp5 { class Program { static void Main(string[] args) { //khai báo biến number để lưu giá trị nhập vào từ người dùng //biến count để lưu số chũ số và biến temp dùng để hiển thị ra màn hình int number = 0, count = 0, temp; //sử dụng Console.ReadLine() để nhận đầu vào từ bàn phím Console.Write("Nhap vao mot so nguyen: "); number = Convert.ToInt32(Console.ReadLine()); //gán giá trị nhập vào cho biến temp để hiển thị ra màn hình temp = number; //sử dụng vòng lặp while với điều kiện number > 0 while (number > 0) { //thực hiện chia number cho 10 và tăng count++ number = number / 10; count++; } //sau khi vòng lặp kết thúc ta được count là số chữ số của number Console.WriteLine($"So chu so cua {temp} la: {count}"); Console.WriteLine("\n----Chuong trinh nay duoc dang tai Freetuts.net----\n"); Console.ReadLine(); } } }
Kết quả:
Như vậy là chúng ta đã thực hiện xong chương trình đếm số chữ số của một số nguyên trong C#. Các bạn hãy luyện tập thật nhiều để rèn luyện nhé, chúc các bạn thành công !!!