30/09/2018, 18:06

Nhập vào một số nguyên, xuất ra chữ số lớn nhất, nhỏ nhất của số đó

giúp mình với…tks ạ…
Nhập vào một số nguyên, xuất ra chữ số lớn nhất, nhỏ nhất của số đó. Ví dụ: nhập 1483, chữ số nhỏ nhất là 1, chữ số lớn nhất là 8

Ngô Doãn Tuấn viết 20:14 ngày 30/09/2018

Bạn nhập vào số đó là 1 string rồi bạn so sánh max dùng prt mình nghĩ sẽ đc

Ibrahimovic Zlatan viết 20:17 ngày 30/09/2018

ban lam giup minh dc khong…minh lam theo cach cua ban sao no khong ra…tks nhe…

Ngô Doãn Tuấn viết 20:12 ngày 30/09/2018

đợi mình chút nhé
Mình tes thử trên c++

Ibrahimovic Zlatan viết 20:19 ngày 30/09/2018

code của mình nek…tìm được max, khong tim được min…bạn xem sửa giúp mình với…

 #include <iostream>
 #include <math.h>
using namespace std;
int main()
{
	int n, max, a, b, c, d, min, e;
	cout << " nhap n :" << endl;
	cin >> n;
	a = n;
	max = a % 10;

	min = a % 10;
	
	while (a != 0)
	{

		b = a / 10;
		d = b % 10;
		a = b;

		if (max < d)
			max = d;

	}
	while (a != 0)
	{
		b = a / 10;
		d = b % 10;
		a = b;
	
		if (min>d)
			min = d;
	}
	cout << "sln" << max <<" "<<"sbn"<<min<< endl;
	system("pause");
	return 0;
}
Cương Nguyễn viết 20:12 ngày 30/09/2018

Vì giá tri a của vòng lặp thứ 2 đã bị thay đổi so với ban đầu.
Với lại bạn dùng 1 vòng lặp và tính max min luôn, tạo ra 2 cái làm gì thừa ra

Ibrahimovic Zlatan viết 20:18 ngày 30/09/2018

tks ban nhe… minh gop lai no bao min=0…chiu luon

Cương Nguyễn viết 20:06 ngày 30/09/2018

bác post code lên tớ xem nào

Ibrahimovic Zlatan viết 20:12 ngày 30/09/2018

code phía trên đó…

Ibrahimovic Zlatan viết 20:14 ngày 30/09/2018

code mới…

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
	int n, max, a, b, c, d, min, e;

	cout << " nhap n :" << endl;
	cin >> n;
	a = n;
	max = a % 10;

	min = a % 10;
	
	while (a != 0)
	{

		b = a / 10;
		d = b % 10;
		a = b;

		if (max < d)
			max  = d;
		if (min > d)
			min = d;

	}

	cout << "sln" << max <<" "<<"sbn"<<min<< endl;
	system("pause");
	return 0;
}
Cương Nguyễn viết 20:13 ngày 30/09/2018

b = a / 10;
d = b % 10;
a = b;

Thử thay bằng:

d = a % 10;
a = a / 10;
Tiễn Nguyễn Đức viết 20:13 ngày 30/09/2018

mấy anh cho em hỏi sao em nhập vào 12121212121212121212.mà kết quả trả về của max lại ko phải là 2 mà là 1 số khác ạ.của em nó trả về số 8

rogp10 viết 20:15 ngày 30/09/2018

Tràn số rồi, chuyển qua nhập string thôi.

Black viết 20:22 ngày 30/09/2018

Mình sửa lại code của bạn 1 chút:

#include<iostream>
using namespace std;
int main() {
	int max, min;
	int a;
	cout<<"Nhap a: ";
	cin>>a;
	max=a%10;
	min=a%10;
	while(a) {
		int temp=a%10;
		a/=10;
		if(max<temp) {
			max=temp;
		}
		if(min>temp) {
			min=temp;
		}
	}
	cout<<"Chu so lon nhat la: "<<max<<endl;
	cout<<"Chu so be nhat la: "<<min<<endl;
	system("pause");
	return 0;
}

Bạn nên khai báo ít biến thôi dùng chỗ nào thì khai báo trong đấy.

Bài liên quan
0