Практика программирования (Бейсик, Си, Паскаль)


         

Функция должна возвращать значение true


N&=(N&-(N& MOD 10&))/10& : ' Удаление обработанной цифры

LOOP WHILE N&<>O

SUMDIG=RESULT

END FUNCTION

Программа 2_06.с

/* Суммирование десятичных цифр числа */
#include <stdlib.h>
int sum_digits(long N);
main()

}

long M;

printf ("\n Введите целое число: ");
scanf ("%ld", &M) ;

printf ("\n Сумма его цифр = %d", sum_digits (M) ) ;
getch ( ) ; }

int sum_digits (long N) {

int Result=0;

N=labs (N) ; /* Смена знака у отрицательного числа */
do {

Result=Result+N%10; /* Накопление суммы цифр */
N=N/10; /* Удаление обработанной цифры */ }

while (N != 0) ;
return Result;

}

Программа 2_06.pas

program sumdigits;

{ Суммирование десятичных цифр числа }

var

M:longint;

function sum_digits (N: longint) : integer;

const

Result : integer=0 ;
begin

if N<0 then N:=-N;
{ Смена знака у отрицательного числа } repeat

Result :=Result+N mod 10; { Накопление суммы цифр }
N:=N div 10; { Удаление обработанной цифры }
until N=0;
sum_digits : =Result;
end;

begin

write ( ' Введите целое число : ' ) ;
readln (M) ;

writeln('Сумма его цифр =',sum_digits(M)! readln;

end.

Задание 2.07. "Счастливый" Сияет

Составить логическую функцию luck(n), аргументом которой является число п из диапазона [0, 999999]. Функция должна возвращать значение true (Паскаль) или i (Си, QBasic), если ее аргумент представлен "счастливым" числом, у которого суммы трех старших и трех младших цифр совпадают.

Программа 2_07.bas

REM Анализ "счастливого" билета
DECLARE FUNCTION LUCK(M AS LONG)
INPUT "Введите номер билета ";N& IF LUCK(N&)=1 THEN

PRINT "Радуйтесь - счастливый" ELSE

PRINT "Нет счастья в жизни" END IF END

FUNCTION LUCK(M AS LONG)

REM Подсчет и сравнение сумм старших и младших цифр М

REM Если суммы совпадают LUCK=1

DIM A(6)

LUCK=0

IF M<0 OR M>999999 THEN

PRINT "luck : недопустимый аргумент":

Содержание  Назад  Вперед