30/09/2018, 18:15

Xin hỏi về ép kiểu C++

Chào anh chị. Anh chị cho em hỏi cái bài này em ép kiểu sao nó cứ ra kết quả là 1 vậy ạ?

int main()
{
    float s; s=0;
    int n;
    cin >> n;
    for (int i=1; i<=n; i++) s=s+(float)(1/i);
    cout << s;
    return 0;
}
Gió viết 20:19 ngày 30/09/2018

(1/i) = 1 khi i==1 còn giá trị sau <1 nên float(1/i) =0

Sửa s+=float(1)/i hoặc s+=1.0/i;

Nguyễn Cát Long Huy viết 20:16 ngày 30/09/2018

dạ em hiểu rồi. Em cám ơn anh ^^

Bài liên quan
0