На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Требуется написать программу, которая выводит количество всех чисел исходной последовательности, делящихся нацело на 10, и их сумму. Если в последовательности нет чисел, делящихся нацело на 10, то выводится «NO». Известно, что вводимые числа не превышают 1000.
Напоминание: 0 делится на любое натуральное число.
Ниже приведена программа на пяти языках программирования:
| Бейсик | Python |
|---|---|
| CONST n=4 count = 0 sum = 0 FOR I = 1 TO n INPUT x IF x mod 10 = 0 THEN count = count + 1 sum = x END IF NEXT I IF sum > 0 THEN PRINT count PRINT sum ELSE PRINT "NO" END IF | n = 4 count = 0 sum = 0 for i in range(1, n+1): x = int(input()) if x % 10 == 0: count = count + 1 sum = x if sum > 0: print(count) print(sum) else: print("NO") |
| Паскаль | Алгоритмический язык |
| const n = 4; var i, x, sum, count: integer; begin count := 0; sum := 0; for i := 1 to n do begin read(x); if x mod 10 = 0 then begin count := count+1; sum := x; end end; if sum > 0 then begin writeln(count); writeln(sum); end else writeln('NO') end. | алг нач цел n = 4 цел i, x, sum, count count := 0 sum := 0 нц для i от 1 до n ввод x если mod(x,10) = 0 то count := count + 1 sum := x все кц если sum > 0 то вывод count вывод sum иначе вывод "NO" кон |
| С++ | |
| #include #define n 4 using namespace std; int main(){ int i, x, sum, count; count = 0; sum = 0; for(i=1; i <= n; i++){ cin >> x; if(x % 10 == 0){ count = count + 1; sum = x; } } if(sum > 0) { cout << count << endl; cout << sum << endl; } else cout << "NO"; return 0; } |
Программист написал программу неправильно.
Последовательно выполните следующее:
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.