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

Đề tài: Lỗi phép tính chia số nguyên

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

    Mặc định Lỗi phép tính chia số nguyên

    Giúp em với các bác, vừa mới học lập trình xong mà chả viết được gì cả
    em dùng cái Dev - C++
    em viết
    PHP Code:
    #include <stdio.h>
    #include <conio.h>
    main ()
    {
         
    printf("%f",4/3);
         
    getch();
         } 

    thế này mà kết quả ra không đúng, toàn ra 1
    còn nếu viết thế này
    PHP Code:
    #include <stdio.h>
    #include <conio.h>
    main ()
    {
         
    printf("%f",3/4);
         
    getch();
         } 
    thì kết quả toàn ra 0.0000

    em sai ở đâu, các bác chỉ với, thanks
    Đã được chỉnh sửa lần cuối bởi langman : 15-03-2009 lúc 07:35 PM.

  2. #2
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Sửa 4/3 và 3/4 thành 4.0/3 à 3.0/4

  3. #3
    Ngày gia nhập
    11 2008
    Bài viết
    7

    Trích dẫn Nguyên bản được gửi bởi trubavuong Xem bài viết
    Sửa 4/3 và 3/4 thành 4.0/3 à 3.0/4
    rất cảm ơn bác, thế em vẫn chưa hiểu tại sao khi viết 4/3 hoặc 3/4 thì kết quả lại bị sai. Hoặc có cách làm nào khác để kết quả vẫn đúng khi viết 4/3 không ạ.
    Thanks

  4. #4
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Viết 4/3 thì máy hiểu là pháp tính trên kiểu số nguyên nên 4/3 là pháp lấy phần nguyên. Cách viết đúng khác : (float)4/3; float(4/3); 4./3; 4/3. ;......

    P/s : đổi lại tiêu đề topic đi không là bị del bài viết đó !

  5. #5
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    Trích dẫn Nguyên bản được gửi bởi leanh2 Xem bài viết
    Giúp em với các bác, vừa mới học lập trình xong mà chả viết được gì cả
    em dùng cái Dev - C++
    em viết
    PHP Code:
    #include <stdio.h>
    #include <conio.h>
    main ()
    {
         
    printf("%f",4/3);
         
    getch();
         } 

    thế này mà kết quả ra không đúng, toàn ra 1
    còn nếu viết thế này
    PHP Code:
    #include <stdio.h>
    #include <conio.h>
    main ()
    {
         
    printf("%f",3/4);
         
    getch();
         } 
    thì kết quả toàn ra 0.0000

    em sai ở đâu, các bác chỉ với, thanks

    ko sai ở đâu cả bạn à.

    theo mình bạn nên nghiên cứu lại về toán tử "/"
    nó là phép chia lấy phần nguyên ( DIV ) với trường hợp tử và mẫu là nguyên

    và nó là phép chia bt nếu tử hoặc mẫu là thực

    Trích dẫn Nguyên bản được gửi bởi trubavuong Xem bài viết
    Viết 4/3 thì máy hiểu là pháp tính trên kiểu số nguyên nên 4/3 là pháp lấy phần nguyên. Cách viết đúng khác : (float)4/3; float(4/3); 4./3; 4/3. ;......

    P/s : đổi lại tiêu đề topic đi không là bị del bài viết đó !
    gửi trụ bá vương

    float(4/3) tức là tính 4/3 trước rồi mới ép kiểu ( do toán tử () được thực hiện trước) nên đâu có ý nghĩa gì đâu? vẫn ra 1.00 mà thôi

    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

  6. #6
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Mặc định Lỗi phép tính chia số nguyên

    Chết. Em gõ nhầm rồi, là thế này : float(4)/3; Em sorry nha, quen tay thế là cứ gõ loạn cả lên

  7. #7
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    sr cả nhà spam ngoài lề tí :

    avatar của bác dễ thương quá, em thì lại đang độc thân
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

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

    Trích dẫn Nguyên bản được gửi bởi langman Xem bài viết
    ko sai ở đâu cả bạn à.

    theo mình bạn nên nghiên cứu lại về toán tử "/"
    nó là phép chia lấy phần nguyên ( DIV ) với trường hợp tử và mẫu là nguyên

    và nó là phép chia bt nếu tử hoặc mẫu là thực



    gửi trụ bá vương

    float(4/3) tức là tính 4/3 trước rồi mới ép kiểu ( do toán tử () được thực hiện trước) nên đâu có ý nghĩa gì đâu? vẫn ra 1.00 mà thôi

    cảm ơn bác. nếu vậy thì nếu giả sử khi em lấy 4 chia cho 3, và muốn KQ ra là 1.333 gì đó thì phải viết là 4.0/3.0
    còn nếu viết 4/3 bt thì kết quả nó chỉ ra được phần trước dấu chấm thôi à

    Tại em nghĩ khi mình viết %f thì là mình gán kiểu giá trị cho kq là float rồi, ai ngờ

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

  1. Trả lời: 4
    Bài viết cuối: 09-02-2012, 10:42 PM
  2. Kỹ thuật C++ Lời giải về Chuỗi Ký tự,mảng số nguyên 1 chiều,mảng 2 chiều,tạo Menu
    Gửi bởi xuanngoc trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 15-10-2011, 01:54 AM
  3. Lời giải bài tập: Chuỗi Ký tự, mảng số nguyên 1 chiều, mảng 2 chiều, tạo Menu
    Gửi bởi xuanngoc trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 15-10-2011, 01:17 AM
  4. tìm số nguyên tố có trong mảng 2 chiều, tính tổng các số nguyên tố đó??
    Gửi bởi lesliuton01 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 08-06-2010, 10:21 AM
  5. mảng 1 chiều | Kiểm tra mảng có chứa số nguyên tố???
    Gửi bởi namekct trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 11-01-2010, 09:46 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