Олимпиадный тренинг

Задача . 15749


Задача

Темы:
На вход программы поступают 4 неотрицательных целых числа, не превышающие 1000, среди которых могут быть одинаковые. Нужно написать программу, которая выводит количество чисел, кратных 3, и максимальное из этих чисел. Если среди входных данных нет чисел, кратных трёх, программы должна вывести слово 'NO'. Для решения этой задачи ученик написал такую программу:
#include<stdio.h>
main()
{
const int n = 4;
int i, x;
int maximum, count;
count = 0;
maximum = 999;
for (i=1; i<=n; i++) {
    scanf(“%d”, &x);
    if (x % 3 == 0) {
      count = count + 1;
      if (x < maximum)
         maximum = x;
    }
  }
  if (count > 0) {
    printf(“%d”,count);
    printf(“%d”,maximum);
  }
  else
    printf(“NO”);
}

Последовательно выполните следующее.
1.       Напишите, что выведет эта программа при вводе чисел 2  9  4  3.
2.       Приведите пример такой последовательности, содержащей число, кратное 3, что, несмотря на ошибки, программа выдаст верный ответ.
3.       Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: выпишите строку, в которой сделана ошибка, и приведите правильный вариант
строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

time 500 ms
memory 32 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя