Hỏi về đoạn code có sử dụng é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;
}

(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;

2 Likes

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

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?