Задача на языке Паскаля
Дано натуральное число N. Напишите функцию int MinDigit (int n) (C/C++), function MinDigit (n:longint):integer (Pascal) и int MaxDigit (int n) (C/C++),function MaxDigit (n:longint):integer (Pascal), определяющую наименьшую и наибольшую цифры данного числа.
Формат входных данных
Задано единственное число
Формат выходных данных
Необходимо вывести наименьшую и наибольшую цифры данного числа через пробел.
Answers & Comments
Var n:longint;
Function MinDigit(n:longint):integer;
var s,a:string; c,i:integer;
begin
str(n,s);
a:=s[1];
for i:=2 to length(s) do
if s[i]<a then a:=s[i];
val(a,n,c);
MinDigit:=n;
end;
Function MaxDigit(n:longint):integer;
var s,a:string; c,i:integer;
begin
str(n,s);
a:=s[1];
for i:=2 to length(s) do
if s[i]>a then a:=s[i];
val(a,n,c);
MaxDigit:=n;
end;
Begin
readln(n);
writeln(MinDigit(n),' ',MaxDigit(n));
End.
По факту переменную "c" можно убрать из функций и использовать вместо нее уже не нужную в конце "i", таким образом избавившись от одной переменной. Но это не принципиально на самом деле, к тому же так понятней, какая переменная за что отвечает.