30/09/2018, 21:15 
               
            C++ Bài tập đơn giản nhưng không hiểu vì sao sai
#include <iostream>
using namespace std;
void main()
{
	int a, b, c, max;
	cout << "Nhap a ";
	cin >> a;
	cout << "Nhap b ";
	cin >> b;
	cout << "Nhap c ";
	cin >> c;
	max = a;
	if (max < b) {
		b = max;
	}
	if (max < c) {
		c = max;
	}
	cout << max;
	system("pause");
}
Đoạn code trên là phần code để giải bài tìm số lớn nhất trong 3 số. Nhưng không hiểu sao max lúc nào củng = a
            Bài liên quan
         
                
            




Thay lại bằng đoạn này thử nhé:
Vì sao phải bỏ {} ạ
Em tưởng 1 câu lệnh củng nên bỏ trong cặp nhọn để dễ đọc code.
Cái đó không quan trọng vì trong
ifchỉ có 1 câu lệnh nên không cần{}, khi nào trongifcó nhiều câu lệnh mới cần{}P/S: Mà bạn sửa được chưa ?
Em đã thử và không đc ạ
Thế này đi. Bạn thay đổi thuật toán xíu.
Gán cho
max= 0 rồi thực hiện đoạn code dưới đây thử:Em làm như anh thì max = 0 em chã hiểu luôn.
Em chạy trình debug thì max luôn có 1 kết quả duy nhất
Sao kì nhỉ ? Mình làm ok hết mà?
code đây nà bạn vậy mới đúng
Của em đây ạ
Nếu
a, b, c < 0thì thuật toán saiUhm anh Nhưng em kêu bạn ấy chuyển qua thuật đó xem có lỗi như thuật trước không ấy mà
@Looi nhầm, bạn ghi lại là
max = anhaỒ em cảm ơn anh
Sai lỗi vớ vẫn quá.
Mà bạn nên nhớ thế này nha:
a = maxtức là gán giá trị max cho amax = atức là gán giá trị a cho maxa = maxvàmax = alà 2 kiểu hoàn toàn khác nhauTổng quan là vế phải gán cho vế trái
max=a; hoặc bằng max = a; cũng như nhau thôi bạn
Thuật của bạn nếu cho a = 0 thì coi như sai
mình có nói j đâu mình chỉ nói max=a cũng giống max = a mà
Bạn gán
a = max và b = maxđể làm gìbạn có chắc không?
mới sửa lại hả
chắc chứ bạn vì mình thử rồi