Информатика, вопрос задал nikitinadjulia , 9 лет назад

Pascal. Тема:Циклы
С клавиатуры вводится целое произвольное число
1) Вывести на экран первую и последнюю цифру числа.
2) Вывести на экран наибольшую цифру числа
3) Вывести на экран нечетные цифры этого числа

Ответы на вопрос

Ответил A1dar
0
Программа на паскале:
var
  number, firstDigit, lastDigit, maxDigit: longint;
 
begin
  read(number);
  lastDigit := number mod 10;
  write('Нечетные цифры числа: ');
  while number > 9 do
  begin
    if number mod 2 = 1 then write(number mod 10, ' ');
    if number mod 10 > maxDigit then maxDigit := number mod 10;
    number := number div 10;
  end;
  if number mod 2 = 1 then write(number);
  if number mod 10 > maxDigit then maxDigit := number mod 10;
  firstDigit := number;
  writeln;
  writeln('Первая цифра числа - ', firstDigit);
  writeln('Последняя цифра числа - ', lastDigit);
  writeln('Наибольшая цифра числа - ', maxDigit);
end.
Ответил антагонист
0
однако баг, при вводе числа 3973 максимальное число-3
Ответил Аноним
0
максимума ты где считаешь
Ответил Аноним
0
на c++ я бы написал это в 3 строчки!
Ответил антагонист
0
сударь, ваша программа имеет баг, будьте добры, пофиксите
Ответил A1dar
0
Ах, да про максимум то я забыл
Ответил srzontmp
0
var maxd,n,m,lst: integer;
begin
{  считываем с экрана       }
   readln(n);
   maxd:=0;
{  последняя цифра }
   lst:=n mod 10;
{  цикл по количеству цифр в числе }
   while true do
   begin
       m:=n mod 10; 
       if (m mod 2 =1) then writeln('нечет. цифра = ',m);
       if maxd < m then maxd:=m;
       n:=n div 10;
       if (n=0) then
         begin
             writeln('первая цифра = ',m);
             break;
         end;
   end;
   writeln('последняя цифра = ',lst);
   writeln('максимальная цифра = ',maxd);
end.

 
Ответил антагонист
0
зачёт
Ответил Аноним
0
begin
var a := readinteger();
a := abs(a);
var last:= a mod 10;
var i, fst, maxim : integer;

maxim := 0;
write ('odd digs : ');
while (a > 0) do
begin
fst:= a mod 10;
if ( maxim < last)
then maxim := fst;
if (fst mod 2 = 1)
then write(fst, ' ');
a := a div 10;
end;
writeln();
writeln('first = ', fst, ' last = ', last);
writeln('max = ', maxim);
end.
Ответил антагонист
0
та не правильно у тиби
Ответил Аноним
0
ну пох тогда
Новые вопросы