проверить уже написанную . напишите программу, которая в последовательности натуральных чисел определяет сумму трёхзначных чисел, кратных 4. программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак
окончания ввода, не входит в последовательность). количество чисел не превышает 1000. введённые числа не превышают 30 000. программа должна вывести одно число: сумму трёхзначных чисел, кратных 4. написал, но при в введении любых значений, программа выдаёт 0. что не так в коде, который представлен
ниже? var a,b: integer; begin readln(a); b: =0; while (a< > 0) do begin if(a> 100) and (a< 1000) and (a div 4=0) then b: =b+a; readln(a); end; writeln(b); end.

Zhenya2188 Zhenya2188    1   07.10.2019 23:30    1

Ответы
Maksim3131 Maksim3131  10.10.2020 02:50

Program n_1;

var a,b:integer;

begin

   read(a);

   b:=0;

   while (a<>0) do begin

       if(a>=100) and (a<1000) and (a mod 4=0) then

           b:=b+a;

       read(a);

   end;

   writeln(b);

end.

Исправил. Твои ошибки (уже исправленные) выделены черным.

1. Трехзначные числа не больше ста, а не меньше ста.

2. Операция div - частное от деления, а mod - остаток от деления. Для проверки кратности используется mod.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика