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;
}
Bài liên quan
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.
Tìm chữ số có giá trị lớn nhất của số nguyên dương n.
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é
thì ra là vậy. cảm ơn nka.hihi