30/09/2018, 16:37

đệ quy: mình ko hiểu n/10 để làm gì?

đề bài:Tìm chữ số có giá trị lớn nhất của số nguyên dương n

#include "stdafx.h"
#include <iostream>
using namespace std;

//
int seekmax(int n,int &max)
{
	int m;
	if (n == 0) return  max;
	else
	{
		m = n % 10;
		if (m > max)
			max=m;
	}
	return seekmax(n/10,max);
}


int _tmain(int argc, _TCHAR* argv[])
{
	int n,max;
	cout << "nhap n=";
	cin >> n;
	cout << "seekmax=" << seekmax(n,max) << endl;
	return 0;
}
... viết 18:53 ngày 30/09/2018

Cái đề yêu cầu gì vậy? Với lại max của bạn chưa được khởi tạo, bạn dùng như thế thấy không ổn. Nên khởi tạo cho max = 0 trước.
n/10 là để bỏ đi chữ số cuối cùng của n sau khi gán chữ số cuối cùng đó cho m để so sánh. Khi không còn chữ số nào nữa (n = 0) thì trả về giá trị max.

Long Long viết 18:37 ngày 30/09/2018

Tìm chữ số có giá trị lớn nhất của số nguyên dương n.

Minh Hoàng viết 18:44 ngày 30/09/2018

n/10 để giảm số xuống sau khi bạn lấy ở hàng đơn vị rồi. Ví dụ số 54321 thì sau khi lấy số 1 thì còn 5432. Sử dụng n/10 để lấy ra số 5432
Bạn viết Tiếng việt có dấu nhé

Long Long viết 18:46 ngày 30/09/2018

thì ra là vậy. cảm ơn nka.hihi

Bài liên quan
0