chắc chứ bạn vì mình thử rồi
C++ Bài tập đơn giản nhưng không hiểu vì sao sai
bạn nên thử lại
#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; // chỗ này phải gán max = b
}
if (max < c) {
c = max;// chỗ này nữa max = c mới đúng
}
cout << max;
system("pause");
}
Cố nội.
Max=b và max=c chứ không phải b=max,c=max.
Vãi anh
P/S: Mà bạn chủ Topic đã sửa được lỗi rồi, sao mấy ACE @Duong_Act @KhoaTran còn “phạt” bạn ấy chỉ nhể :v
Theo thông tin chim lợn thì chưa giải quyết được mặc dù nhiều bạn đã chỉ nhưng vẫn chưa sửa. Nên bồi thêm cho phát nữa
bác dùng thử này xem sao:
if (max=a>b?a:b)
return (a);
else
return (max=b>c?b:c);
max = a;
if (max < b) {
max = b;
}
if (max < c) {
max = c;
}
cout << max;
Nhầm code rồi bạn ơi.
if (max < b) {
b = max;
}
if (max < c) {
c = max;
}
Đoạn này max phải gán bằng giá trị của b hoặc c chứ không phải gán b hoặc c bằng giá trị max.
không phải bỏ ngoặc, bỏ ngoặc hay để ngoặc là phong cách của ng code thôi, vì sau if chỉ có 1 câu lệnh nên bỏ ngoặc nhìn sạch đẹp hơn, còn bạn trên sửa lại thứ tự là max= b chứ ko phải b= max như bạn code vì trong lập trình, “=” là lệnh gán chứ không phải so sánh nên nó không có tính hoán vị. max= b là gán giá trị của b cho biến max, b= max thì ngược lại, gán giá trị của max cho b. vì bạn để max= a từ đầu nên các lệnh sau nó gán giá trị đó cho b, cho c nên dù in ra cái gì cũng ra giá trị ban đầu của max= a.
có cái bài cơ bản mà các bác tranh cãi ghê thế, đổi lại max=b với vs max=c là xong rồi
bạn viết sai thuật toán rồi
sửa lại thành thế này nhé
max = a;
if (max < b) {
max=b;
}
if (max < c) {
max=c;
}
không giống nhau đâu bạn hoàn toàn khác nhé
#include <iostream>
using namespace std;
int max_3_digits(int a, int b, int c);
int main()
{
int a, b, c, max;
cout << "Nhap a: ";
cin >> a;
cout << "Nhap b: ";
cin >> b;
cout << "Nhap c: ";
cin >> c;
max = max_3_digits(a, b, c);
cout << "Max = " << max;
return 0;
}
int max_3_digits(int a, int b, int c)
{
int max = a;
return (max < b) ? ((b < c) ? c : b) : ((max < c) ? c : max);
}
if (max < b) {
b = max;
}
if (max < c) {
c = max;
}
chỗ này là
max=b
max =c
nếu b=max <=> b=max=a
c=max <=> c=max=b=a
cout<< max <=> cout << a;