Đánh giá, nhận xét, review các công ty tuyển dụng
Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 15 kết quả

Đề tài: Chương trình đọc số !!

  1. #1
    Ngày gia nhập
    08 2008
    Bài viết
    0

    Mặc định Chương trình đọc số !!

    giúp mình giải bài này với ko dùng hàm lặp

    4. Viết chương trình đọc số (giới hạn số nhập vào không quá 9 ký số). Ví dụ: nhập vào 12345 thì đọc: mười hai ngàn ba trăm bốn mươi lăm.
    5. Viết chương trình nhập vào ngày tháng năm. Hãy thực hiện theo các yêu cầu:
    - Kiểm tra tính hợp lệ của ngày tháng
    - Cho biết ngày liền trước và ngày liền sau của ngày vừa nhập

  2. #2
    Ngày gia nhập
    08 2008
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    160

    Bài này mình đã làm rồi
    Có thể tối đa là đọc được 9 chữ số
    Có lẽ lần sau ra mạng mình sẽ post cho nha
    hôm nay ko tiện đem theo

  3. #3
    Ngày gia nhập
    08 2008
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    160

    Ủa sao lại không dùng vòng lặp nhỉ
    Không dùng vòng lặp thì chương trình sẽ rất dài và không khoa học
    Sao lại phải tự làm khó mình nhỉ
    PHP Code:
    /*----------------------------------------------------------------------
     Chuong trinh in ra cach doc mot so nguyen tu ban phim
     Thuc hien   leemanhj916
     Ngay  20-6-08
    ------------------------------------------------------------------------*/

    #include <stdio.h>
    #include <conio.h>


    void main()
        {
        
    void docso(int a,int mang[]);
        
    int mang[30],i,a,dem=0;   
        
    unsigned long int n;
        
    clrscr();
        
    printf("Day la chuong trinh doc mot so nguyen nhap tu ban phim ");
        
    printf("\n\nHay nhap mot so nguyen : ");
        
    scanf("%ld",&n);
        
    textcolor(10);
        
    cprintf("\n\nSo %lu doc la :",n);
        
    printf("\n\n");
        for(
    i=0;i<30;i++)
            {
            
    mang[i]=n%10;
            
    n/=10;
            
    dem++;
            if(
    n==0)
                {
                
    a=dem-1;
                break;
                }
            }
        
    docso(a,mang);
        
    getch();
        }


    //----------------------
    void docso(int a,int mang[])
        {
        
    int i;
        for(
    i=a;i>=0;i--)
            {
            switch(
    mang[i])
                {
                case 
    0: if(i!=0||i!=aprintf("Khong ");  break;
                case 
    1printf("Mot ");    break;
                case 
    2printf("Hai ");    break;
                case 
    3printf("Ba ");     break;
                case 
    4printf("Bon ");    break;
                case 
    5printf("Nam ");    break;
                case 
    6printf("Sau ");    break;
                case 
    7printf("Bay ");    break;
                case 
    8printf("Tam ");    break;
                case 
    9printf("Chin ");   break;
                }
            switch(
    i)
                {
                case 
    0:             break;
                case 
    1printf("Muoi ");    break;
                case 
    2printf("Tram ");    break;
                case 
    3printf("Nghin  ");  break;
                case 
    4printf("Muoi ");    break;
                case 
    5printf("Tram ");    break;
                case 
    6printf("Trieu ");  break;
                case 
    7printf("Muoi ");    break;
                case 
    8printf("Tram ");    break;
                case 
    9printf("Ty ");      break;
                }
            }
        } 
    Đã được chỉnh sửa lần cuối bởi leemanhj916 : 29-06-2010 lúc 04:32 PM.

    YM-Skype-Mail : leemanhj916 [@gmail.com]

  4. #4
    Ngày gia nhập
    03 2008
    Nơi ở
    Đà Nẵng city
    Bài viết
    40

    Hay nhi? Bài này chưa nghỉ đến lun mà có người giải rồi

  5. #5
    Ngày gia nhập
    07 2008
    Bài viết
    2

    code này chưa đạt yêu cầu của bài toán.
    Mình nhập thử số 15310813. kết quả là:
    Mot Muoi Nam Trieu Ba Tram Mot Muoi Khong Nghin Tam Tram Mot Muoi Ba

  6. #6
    Ngày gia nhập
    03 2008
    Nơi ở
    Đà Nẵng city
    Bài viết
    40

    Mặc định Chương trình đọc số !!

    Sau khi kiểm tra lại thì bài này ko dùng đc , chỉ đúng ở 1 số trường hợp, vẫn còn rất nhìu trường hợp đọc sai, không ổn chút nào, hiện mình đang cố gắng sửa lại, dựa trên code của bạn, hy vọng là xong sớm :(

  7. #7
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Đọc bài này lâu rồi, tuy nhiên lúc đó đang đi quân sự 1 tháng nên không post code lên đc, này mình post lên mọi người góp ý.
    Tuy nhiên, khi học lớp một mình học 150 đọc là một trăm lăm mươi, nên code mới viết vậy, nếu thấy không đúng bạn sửa code loại bớt TH đó là Ok.
    Code:
    //mot, hai, ba, bon, nam, sau, bay, tam, chin, muoi <=> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
    //muoi`, tram                          ngan, trieu, ty
    //linh, muoi
    //lam
    //*Han che so chu so trong kieu int
    //Khoang 10 chu so la ok
    #include <stdio.h>
    #include <stdlib.h>
    
    void num1(int x);
    void num2(int x);
    void num3(int x);
    void speaknum(int x);
    
    int main()
    {
        int n;
        printf("- Voi trinh bien dich IDE thi int 4 byte nen nhap n<=4 294 967 295\n- Voi trinh bien dich tren DOS n<=32767");
        printf("\n * Nhap so can doc: ");scanf("%d",&n);
        speaknum(n);
    }
    
    void num1(int x)
    {
        char ch[11][6]={"khong","mot","hai","ba","bon","nam","sau","bay","tam","chin"};
        printf("%s ",ch[x]);
    }
    void num2(int x)
    {
        int a,b;
        a=x/10;
        b=x%10;
        if (b==0)
        {
            if (a==1) printf("muoi` ");
            else {num1(a);printf("muoi ");}
        }
        else
        {
            if (a==1) {printf("muoi` ");num1(b);}
            else {num1(a);printf("muoi ");num1(b);}
        }
    }
    void num3(int x)
    {
        int a,b,c;
        c=x%10;
        x=x/10;
        b=x%10;
        a=x/10;
        if (b==0)
        {
            if (c==0)
            {
                num1(a);printf("tram ");
            }
            else
            {
                num1(a);printf("tram linh ");num1(c);
            }
        }
        else if (c==0 && b!=0)
        {
            if (b==1) {num1(a);printf("tram muoi` ");}
            else if (b==5) {num1(a);printf("tram lam muoi ");}
            else {num1(a);printf("tram ");num1(b);printf("muoi ");}
        }
        else
        {
         if (b==1) {num1(a);printf("tram muoi` ");num1(c);}
         else if (b==5) {num1(a);printf("tram lam muoi ");num1(c);}
         else {num1(a);printf("tram ");num1(b);printf("muoi ");num1(c);}
        }
    }
    void speaknum(int x)
    {
          if (x==0) {printf("khong ");exit(1);}
          char ch [4][6]={"nghin","trieu","ti"};
          int a[5],i=0;
          while (x%1000!=x)
          {
              a[i]=x%1000;
              x=x/1000;
              i++;
          }
          a[i]=x;
          if (a[i]>99)num3(a[i]);
          else if (a[i]>9) num2(a[i]);
          else num1(a[i]);
          if (i>0) printf("%s ",ch[i-1]);
          while (i>0)
          {
              i--;
              if (a[i]!=0) {num3(a[i]);if (i>0) printf("%s ",ch[i-1]);}
          }
    }
    Viết trên Code::Block

  8. #8
    Ngày gia nhập
    04 2008
    Bài viết
    336

    Mình nghĩ các bạn nên xử lý kiểu chuỗi để đọc thì sẽ không gặp vấn đề về độ lớn của số.
    code ra gió bão

  9. #9
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Mình nghĩ các bạn nên xử lý kiểu chuỗi để đọc thì sẽ không gặp vấn đề về độ lớn của số.
    Thực ra bài trên mình chỉ làm đọc số, nếu dấy số nhập vào lên kiểu long thì cũng đủ thỏa mãn điều kiện đầu bài, cách dùng chuỗi cũng rất hay.

  10. #10
    Ngày gia nhập
    08 2008
    Nơi ở
    Hanoi, Vietnam, Vietnam
    Bài viết
    160

    Trích dẫn Nguyên bản được gửi bởi 6220119 Xem bài viết
    Mình nghĩ các bạn nên xử lý kiểu chuỗi để đọc thì sẽ không gặp vấn đề về độ lớn của số.
    Thực ra mình cũng không nghĩ đến kiểu chuỗi
    Có lẽ kiểu chuỗi thì bao nhiêu chữ số cũng được

    YM-Skype-Mail : leemanhj916 [@gmail.com]

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