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 4 của 4

Chủ đề: Sai chỗ nào?

  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Sai chỗ nào?

    Các bạn chỉ cho mình xem sai chỗ nào mà Dien tich thì đúng, còn Chu vi thì ra kết quả sai



    //Tinh dien tich va the tich hinh cau
    #include "stdio.h"
    #include "conio.h"
    #include "math.h"

    #define binhphuong(a) a*a
    #define lapphuong(a) a*a*a
    #define PI 3.14

    void main()
    {
    float fR, fS, fV;
    printf("
    Nhap ban kinh R cua hinh cau: ");
    scanf("%f", &fR);
    fS=4*PI*binhphuong(fR);
    fV=(4/3)*PI*lapphuong(fR);
    printf("
    Dien tich hinh cau = %f", fS);
    printf("
    Chu vi hinh cau = %f", fV);
    getch();
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ^ 4.0/3 nhé bạn.
    À mà phải là 3.14f cơ.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Là sửa thành:
    #define PI 3.14f hả bạn. Mình thử vậy không được và cũng không hiểu.
    Nhưng mình sửa lại thành 4.0/3 thì được. Bạn giải thích dùm mình chổ này tại sao được không!?

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    http://ideone.com/gk5vcS 3.14f OK nhé.

    Do 4.0 là 1 số double nên phép chia sẽ thực hiện bằng số double, lúc này phép chia 4 cho 3 sẽ có kết quả mong muốn.
    Còn 3.14f là float (f).

 

 

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
  •