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

Đề tài: cần sửa sai về hàm chia hết cho 3 trong c

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

    Wink cần sửa sai về hàm chia hết cho 3 trong c

    #include<stdio.h>
    #include<conio.h>
    int a(int c)
    {
    int b;
    b=(a/100)+(a%100)/10+(a%100)%10;


    return b;
    }
    int main ()
    {int c;
    printf("hay nhap so");
    scanf("%d",&c);
    if (b%3==0)
    printf("so %d chia het cho 3",a(c));
    else
    printf("so %d ko chia het cho 3",a(c));



    getch ();
    return 0;
    }
    các bạn sửa code cho mình nhé và xin được góp ý sai như thế nào

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình ko hiểu bạn đang làm cái gì, chỉ sửa lỗi biên dịch thôi :
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3.  
    4. int a(int c)
    5. {
    6.     int b;
    7.     b = (c / 100) + (c % 100) / 10 + (c % 100) % 10;
    8.     return b;
    9. }
    10.  
    11. int main ()
    12. {
    13.     int c;
    14.    
    15.     printf("hay nhap so ");
    16.     scanf("%d",&c);
    17.    
    18.     if (c % 3 == 0)
    19.         printf("so %d chia het cho 3", a(c));
    20.     else
    21.         printf("so %d ko chia het cho 3",a(c));
    22.  
    23.     getch ();
    24.     return 0;
    25. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    đúng là chẳg hiểu đang làm cái quái gì nữa haizzz
    HT117-5277

  4. #4
    Ngày gia nhập
    08 2011
    Bài viết
    2

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3.  
    4. int a(int c)
    5. {
    6.     int b;
    7.     b = (c / 100) + (c % 100) / 10 + (c % 100) % 10;
    8.     return b;
    9. }
    10.  
    11. int main ()
    12. {
    13.     int c;
    14.    
    15.     printf("hay nhap so ");
    16.     scanf("%d",&c);
    17.    
    18.     if (a(c) % 3 == 0) //Sửa ở đây
    19.         printf("so %d chia het cho 3", c); //và ở đây
    20.     else
    21.         printf("so %d ko chia het cho 3",c); //và ở đây
    22.  
    23.     getch ();
    24.     return 0;
    25. }
    Code này của bạn chỉ áp dụng cho các số có từ 3 chữ số trở xuống, nhưng mình vẫn ko hiểu tại sao bạn lại đi đường vòng (xét 1 số có tổng các chữ số chia hết cho 3) mà không xét thẳng số đó có chia hết cho 3 không

  5. #5
    Ngày gia nhập
    09 2011
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi qu4ngco Xem bài viết
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3.  
    4. int a(int c)
    5. {
    6.     int b;
    7.     b = (c / 100) + (c % 100) / 10 + (c % 100) % 10;
    8.     return b;
    9. }
    10.  
    11. int main ()
    12. {
    13.     int c;
    14.    
    15.     printf("hay nhap so ");
    16.     scanf("%d",&c);
    17.    
    18.     if (a(c) % 3 == 0) //Sửa ở đây
    19.         printf("so %d chia het cho 3", c); //và ở đây
    20.     else
    21.         printf("so %d ko chia het cho 3",c); //và ở đây
    22.  
    23.     getch ();
    24.     return 0;
    25. }
    Code này của bạn chỉ áp dụng cho các số có từ 3 chữ số trở xuống, nhưng mình vẫn ko hiểu tại sao bạn lại đi đường vòng (xét 1 số có tổng các chữ số chia hết cho 3) mà không xét thẳng số đó có chia hết cho 3 không
    thật ra bài toán yêu cầu tính như vậy.nhưng khi ban tính như vậy nó sẽ có thể bat cứ chữ số nào cho dù là 5 chữ số hay nhiều hơn bạn có thể thử mà

  6. #6
    Ngày gia nhập
    08 2011
    Bài viết
    2

    Mặc định cần sửa sai về hàm chia hết cho 3 trong c

    Trích dẫn Nguyên bản được gửi bởi behoclaptrinh1993 Xem bài viết
    thật ra bài toán yêu cầu tính như vậy.nhưng khi ban tính như vậy nó sẽ có thể bat cứ chữ số nào cho dù là 5 chữ số hay nhiều hơn bạn có thể thử mà
    bạn chia 100 lấy phần nguyên thì làm sao mà dùng cho bất cữ chữ số nào được nhỉ?

  7. #7
    Ngày gia nhập
    09 2011
    Bài viết
    0

    bạn có thể thử mà .vd nha:9563
    9563/100=95
    63/10=6
    3%10=0
    vậy sẽ là :95+6+3=9+95=104
    => khong chia het cho 3

  8. #8
    Ngày gia nhập
    01 2011
    Nơi ở
    \WINDOWS\Assembly\
    Bài viết
    54

    Trích dẫn Nguyên bản được gửi bởi behoclaptrinh1993 Xem bài viết
    #include<stdio.h>
    #include<conio.h>
    int a(int c)
    {
    int b;
    b=(a/100)+(a%100)/10+(a%100)%10;


    return b;
    }
    int main ()
    {int c;
    printf("hay nhap so");
    scanf("%d",&c);
    if (b%3==0)
    printf("so %d chia het cho 3",a(c));
    else
    printf("so %d ko chia het cho 3",a(c));



    getch ();
    return 0;
    }
    các bạn sửa code cho mình nhé và xin được góp ý sai như thế nào
    nguyên đoạn mã trên có chức năng: kiểm tra một số xem có chia hết cho 3 không. chỉ cần viết gọn lại:

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4. int main (void)
    5. {
    6.     int so;
    7.     scanf("%d", &so);
    8.    
    9.     if (so % 3)
    10.         printf("- So khong chia het cho 3\n");
    11.     else
    12.         printf("- So chia het cho 3\n");
    13.        
    14.     fflush(stdin);
    15.     getchar();
    16.     return 0;
    17. }

  9. #9
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    KHi ra bài tập viết hàm tìm số chia chẵn cho 3 thì có lẽ người ra bài cũng đặt giả thiết toán tử % không xài được (hoặc không xài được cho 3)

    Để giải bài dùng phương pháp cộng các chữ số thì ta phải viết một hàm đệ quy cộng các chữ số lại cho đến khi nào kết quả < 10. Lúc đó nếu kết quả là 3, 6, 9 thì số chia chẵn cho 3

    Hàm cộng các chữ số có thể đặt giả thiết toán tử % dùng được cho 10. Nếu không muốn thế thì dùng hàm đổi số thành chuỗi rồi tính theo ký tự.

  10. #10
    Ngày gia nhập
    10 2011
    Bài viết
    0

    bài viết hay qua.

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

  1. Mảng 2 chiều vào trong hàm bị chuyển thành mảng 2 chiều , tại sao ???
    Gửi bởi kwideur 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: 06-07-2013, 08:35 PM
  2. Trả lời: 2
    Bài viết cuối: 21-04-2013, 09:46 AM
  3. Lỗi: bố cục trang web tự tăng theo chiều ngang khi chiều cao thay đổi
    Gửi bởi tuanngocpt trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 16-03-2013, 11:25 PM
  4. Trả lời: 1
    Bài viết cuối: 28-04-2012, 09:43 PM
  5. Trả lời: 0
    Bài viết cuối: 04-11-2011, 03:38 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