Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 7 của 7
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Code đổi số thành chữ trong C#

    Mã:
    using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            int i;            string s = "";            Console.WriteLine("Nhap vao mot so duong:");            long so = Int64.Parse(Console.ReadLine());            string n = so.ToString();            int[] A = new int[n.Length + 1];            Console.WriteLine("Doi so sang chu:");            for (i = n.Length; i > 0; i--)            {                A[i] = Int32.Parse(n.Substring(n.Length - i, 1));                s += docso(i, A[i], n) + hang(i, A[i], n);            }            Console.WriteLine(s);            Console.ReadLine();         }        static string docso(int i, int x, string n)        {             string s = "";            switch (x)            {                case 0: if (i % 3 == 0 && (n.Substring(n.Length - i + 1, 2) != "00"))                        s = "khong ";                    else s = "";                    break;                case 1:                    if (i % 3 == 2)                        s = "";                    else                        s = "mot ";                    break;                case 2:                    s = "hai ";                    break;                case 3:                    s = "ba ";                    break;                case 4:                    s = "bon ";                    break;                case 5:                    if (n.Length != i && i % 3 == 1 && n.Substring(n.Length - i - 1, 1) != "0")                        s = "lam ";                    else                        s = "nam ";                    break;                case 6:                    s = "sau ";                    break;                case 7:                    s = "bay ";                    break;                case 8:                    s = "tam ";                    break;                case 9:                    s = "chin ";                    break;            }            return s;        }        static string hang(int i, int x, string n)        {            string s = "";            int t = i % 3;            switch (t)            {                case 0: if (n.Substring(n.Length - i, 3) != "000")                        s = "tram ";                    else s = "";                    break;                case 1:                    if (i % 9 == 1)                    {                        if (i - 1 == 0)                            s = "";                        else                            s = "ty ";                    }                    else if (i % 6 == 1)                        if (n.Length > 9 && n.Substring(n.Length - i - 2, 3) == "000")                            s = "";                        else                            s = "trieu ";                    else                        if (n.Length > 6 && n.Substring(n.Length - i - 2, 3) == "000")                             s = "";                        else                            s = "ngan ";                    break;                case 2:                    if (x == 0 && n.Substring(n.Length - i + 1, 1) != "0")                        s = "linh ";                    else                        if (n.Substring(n.Length - i, 2) == "00")                            s = "";                        else                            s = "muoi ";                    break;            }            return s;        }    }}

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cái này mà dùng số sẽ bị hạn chế đấy, dùng chuỗi thì số dài bao nhiêu cũng dc, lấy 9 ký tự bên trái rồi đọc, lại lấy tiếp 9 ký tự bên trái... số có n chữ số vẫn đọc dc.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mình mới bắt đầu học thui [IMG]images/smilies/biggrin.png[/IMG]
    chỉ biết mảng và hàm thui chứ chưa học string
    ai có cách khác thì post lên nhé

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cái lệnh Switch của bạn đó, thay nó bằng vòng lặp For đi có sử dụng Break để thoát khi điều kiện đúng,kết hợp với sử dụng mảng để lưu trữ dữ liệu để so sánh, ở đây mảng lưu trữ các số từ 0 đến 9. khi đó code sẽ ngắn hơn nhiều.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cho mình hỏi với. Mình muốn xem thử bài của bạn thì phải làm thế nào. Mình không được học nên nhìn không hiểu. Bạn có thể hướng dẫn mình cách làm bài này không. Rất cảm ơn manutd !!![IMG]images/smilies/smile.png[/IMG]

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Tạo một console, sau đó vào phần viết code đó, hoặc nhấn F7, copy toàn bộ mã nguồn bên trên paste vào, sau đó nhần F5 hoặc biểu tượng đó.
    thế là ok thui

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    chạy thì ok đó,nhưng cho mình hỏi cái thuật toán nó chạy như thế nào vậy!!!ai biết giải thích giùm cái

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •