Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Đọc số thành chữ trên C#, giúp mình

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    6

    Wink Đọc số thành chữ trên C#, giúp mình

    đọc tiếng việt không dấu một số tự nhiên n<1 tỷ
    ví dụ: với input là 2005
    thì output là: Hai nghin khong tram le nam

  2. #2
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    Bài này trước đây tôi có làm rồi, nhưng không có nhơ để code ở đâu.
    Gợi ý chút nhé:
    1.Tách từng phần tử ra ( ex:2, 0, 0 , 5)
    2.Kiểm tra để xem số hạng lớn nhất thuộc vào đâu ( hàng đơn vị, trục , trăm??? Cái này phải dùng /10 liên tiếp và một biến counter để nhớ lại)
    3.Rồi kết hợp biến counter và các chữ tương ứng các số và điều kiện để format lại chuỗi.
    ex:0 ở hàng trăm thì không trăm, không ở hàng chục thì ghi vào là lẻ...
    Chúc thành công.!
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

  3. #3
    Ngày gia nhập
    10 2010
    Nơi ở
    MỸ THO
    Bài viết
    86

    mình có cái code này,hy vọng sẽ giúp đc cho bạn!
    Code:
    #include <stdio.h>
    #include <string.h>
    #include <conio.h>
    
    char s[50] = "";
    
    char *bachuso(unsigned int n)
    {
      char kyso[10][5]= {"", "mot", "hai", "ba", "bon", "nam", "sau",
                        "bay", "tam", "chin"};
      int donvi, chuc, tram;
    
      s[0] = 0;
      donvi = n % 10;
      n /= 10;
      chuc = n % 10;
      tram = n / 10;
      if (tram > 0)
      {
        strcat(s, kyso[tram]);
        strcat(s, " tram ");
      }
      if (chuc > 0)
      {
        if (chuc == 1)
           strcat(s, "muoi ");
        else
        {
           strcat(s, kyso[chuc]);
           strcat(s, " muoi ");
        }
      }
      if (donvi > 0)
      {
         if (chuc == 0 && tram != 0)
           strcat(s, "le ");
         if (donvi == 1)
           strcat(s, "mot");
         else if (donvi == 5 && (chuc != 0 || tram != 0))
           strcat(s, "lam");
         else if (donvi == 5 && (chuc = 0 || tram != 0))
           strcat(s, "nam");
         else
           strcat(s, kyso[donvi]);
      }
      return s;
    }
    
    void main()
    {
      unsigned long n;
      unsigned ngan, trieu, ty, donvi;
      char chuoi[200];
    
      printf("\nNhap mot so khong dau : ");
      scanf("%ld", &n);
      printf("So %ld doc bang chu la :\n", n);
      if (n == 0)
        printf("khong");
      else
      {
         donvi = n % 1000;
         n /= 1000;
         ngan = n % 1000;
         n /= 1000;
         trieu = n % 1000;
         ty = n / 1000;
         chuoi[0] = 0;
         if (ty > 0)
           printf("%s ty ", bachuso(ty));
         if (trieu > 0)
           printf("%s trieu ", bachuso(trieu));
         if (ngan > 0)
           printf("%s ngan ", bachuso(ngan));
         if (donvi > 0)
           printf("%s", bachuso(donvi));
      }
    
      getch();
    }
    **********************
    Khôn mà gian ác là khôn độc
    Dạy mà hiền lành là dạy khôn

    **********************
    Phone: 0972 755 699 - 090 5678 164
    Mail: thatbaithilamlai@gmail.com

Các đề tài tương tự

  1. Bài tập C các phép tính trên phân số viết bằng C trên Linux. Mọi người sửa giúp mình với?
    Gửi bởi hxt57 trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 2
    Bài viết cuối: 05-10-2011, 06:05 PM
  2. Đoạn code về linked trên C bị lỗi khi build trên Dev C++. Xem giúp mình
    Gửi bởi birthis trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 4
    Bài viết cuối: 06-05-2010, 01:17 PM
  3. return trên C. Trả về giá trị kiểu cấu trúc trên C. Xin chỉ giúp?
    Gửi bởi hoangedward trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 08-01-2010, 09:37 PM
  4. Close console trên C# | Giúp mình về Console Application trên C# với?
    Gửi bởi letheson trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 15-05-2009, 12:28 AM
  5. interval timer trên C# | Lấy mẫu vẽ đồ thị trên C#. Giúp mình với?
    Gửi bởi mrvui trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 09-05-2009, 10:16 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn