01/10/2018, 17:28

Code tìm max 4 số bị sai

#include <iostream>
using namespace std;

int main(){
	int max=0;
	int a,b,c,d;
	cout<<"nhap vao a,b,c,d";
	cin>>a;
	cin>>b;
	cin>>c;
	cin>>d;
	if (a>=b)
	{
		max=a;
	}
	else
	{
		max= b;
	}
	if (c>=max)
	{
		c=max;
	}
	else
	{
	 d=max;	
	}
	//if (d>=max)
		//d=max;
	cout<<"max = "<<max;

return 0;
}

mình có bài toán tìm max 4 số nguyên ạ nhưng mình khi chạy code dc nhưng lại ra kết quả sai so với thực tế. vd mình nhập a=1,b=2 ,c=3,d=4 thì sẽ ra max = 2. xin mọi người giúp đỡ ạ

EternalRerosu viết 19:42 ngày 01/10/2018

bởi vì ở các dòng code từ kiểm tra c , d với max thì bạn không có làm thay đổi giá trị biến max gì hết

if (c>=max)
	{
		max = c;
	}
	else
	{
	   max = d;	
	}
Trương Tấn Phát viết 19:41 ngày 01/10/2018

c=max;
d=max;

Sửa chỗ c=max; d=max; lại và nhập:

a=1,b=2,c=0,d=-999

Xem ra kiết quả là bao nhiêu?

Minh Trí viết 19:31 ngày 01/10/2018

sữa chỗ vậy cậu mình chưa hiểu lắm:)))

Minh Trí viết 19:44 ngày 01/10/2018

mình sửa r vẫn sai cậu ạ

rogp10 viết 19:29 ngày 01/10/2018

Từ câu else thứ hai trở lên thì vẫn còn có lí, khi vào else rồi thì trớt quớt.

Cái này là tư duy rồi.

Trương Tấn Phát viết 19:39 ngày 01/10/2018
max =a;
if(b>max) max=b;
if(c>max) max=c;
if(d>max) max=d;

Bài liên quan
0