Tìm lỗi sai trong code

#include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;
void main()
{
	cout << setiosflags(ios::showpoint) << setprecision(3);
	cout << sqrt(3+sqrt(3+sqrt(3))) << endl;
	cout << 1 / (2 + (1 / (2 + (1 / 2)))) << endl;
	system("pause");
}

Em mới học C++ phiền ac xem giùm e cái code này nó sai ở chỗ nào mà ở dòng cout << 1 / (2 + (1 / (2 + (1 / 2)))) nó lại ra kết quả là 0 trong khi kết quả của cái liên phân số đó là 5/12. Em cảm ơn ạ

Trong C++, toán tử / cho hai số nguyên a và b (int, long, …) được hiểu là a div b (a chia lấy phần nguyên cho b).
Nếu bạn muốn / thật sự là phép chia thì ít nhất a hoặc b một trong hai phải là kiểu số thực (float, double, …).

4 Likes

À e cảm ơn ak :heart:

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