Chữ số lớn nhất của một số

Viết chương trình nhận vào số nguyên dương n và in ra chữ số có giá trị lớn nhất của n.

#include <iostream>
using namespace std;
int main ()
{ 
    long n;
    cin>>n;
    int s=0;
    while (n!=0){
        if(s<n%10){
            s=n%10;
        }n=n/10;
    }
    cout<<s;
    return 0;
}

mong mọi người chỉ điểm

Mình nghĩ vấn đề do tràn số với kiểu dữ liệu long.

vừa đổi qua int cũng ko đc.ai giúp với.

Bạn có thể giải thích được ví dụ thật dài đó không, vì sao kết quả lại như thế?

1 Like

Bài này dùng chuỗi thôi bạn, nhập và xét từng kí tự cho đến hết chuỗi để lấy số lớn nhất.
Mà thực sữ thì chỉ cần 1 biến kiểu char thôi chứ không cần dùng chuỗi.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?