Задана последовательность целых чисел - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет! Решаю задачи с acmp,наткнулся на эту. Вроде ничего сложного,однако на 3 тесте она не проходит. С первыми двумя все нормально. В чем ошибка я не понимаю напрочь,подскажите,если не трудно.. Вот условие Задана последовательность целых чисел. Числа нумеруются по порядку следования, начиная с единицы. Требуется написать программу, которая найдет сумму максимума из чисел с четными номерами и минимума из чисел с нечетными номерами – max{a2, a4, …}+min{a1, a3, …}. Входные данные Входной текстовый файл INPUT.TXT содержит в единственной строке последовательность от 2 до 2*105 целых чисел, которые по модулю не превышают 10000. Выходные данные Выходной текстовый файл OUTPUT.TXT должен содержать одно целое число - сумму максимума из чисел с четными номерами и минимума из чисел с нечетными номерами. Примеры № INPUT.TXT OUTPUT.TXT 1 1 2 3 2 1 -2 3 -4 5 -1 Вот мой код. Сначала читаем первые два числа,а потом пока не конец файла идет чтение,с проверкой на четность/нечетность номера числа.
#include<stdio.h>
int main(void)
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int max,min,a,i;
    i = 3;
    scanf("%d",&min);
    scanf("%d",&max);
    while(!feof)
    {
        scanf("%d",&a);
        if(i%2)
            if(a < min)
                min = a;
        else
            if(a > max)
                max = a;
        i++;
    }
    printf("%d",min + max);
}
Заранее спасибо!

Решение задачи: «Задана последовательность целых чисел»

textual
Листинг программы
while(!feof(stdin))

Объяснение кода листинга программы

  1. В коде используется цикл while, который выполняет следующий блок кода до тех пор, пока условие не станет ложным.
  2. Условие цикла проверяет, достигли ли мы конца файла (feof), используя ввод из стандартного ввода (stdin).
  3. Если условие ложно, то выполняется следующий блок кода.
  4. В этом блоке кода происходит чтение одного целого числа из стандартного ввода (stdin) с помощью функции scanf.
  5. После чтения числа, scanf возвращает количество успешно прочитанных переменных. Если все переменные успешно прочитаны, то возвращается 1.
  6. Чтение числа продолжается до тех пор, пока не будет прочитано число или не произойдет ошибка ввода.
  7. Если условие цикла становится ложным, то происходит выход из цикла и выполнение программы продолжается после цикла.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы