lerenia, Ошибка 1:
Код:
![Выделить весь код](images/misc/selectcode.png)
if (l=0)
printf("Не введено ни одного чётного числа.\n");
Выполняется не сравнение, а присваивание. Сообщение "Не введено ни одного чётного числа" не будет показано никогда.
Ошибка 2:
Код:
![Выделить весь код](images/misc/selectcode.png)
if ((k%2)==0)
{
l=1;
if (l==1)
{
max=k;
l++;
}
}
При таком алгоритме
наибольшим четным всегда будет последнее четное. Проверить можно на тестовых данных:
Код:
![Выделить весь код](images/misc/selectcode.png)
-2 -990 0
Под катом одно из решений:
читать дальше »
Код:
![Выделить весь код](images/misc/selectcode.png)
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <limits.h>
int main()
{
int max = INT_MIN;
int current = 0;
const int term_value = 0;
int at_least_one_even_got = 0;
setlocale(LC_ALL, "");
printf("Введите цифры (по одной в строке):\n");
do {
scanf("%i", ¤t);
if ( current == term_value){
break;
} else if (current % 2 == 0 && max < current){
at_least_one_even_got = 1;
max = current;
}
} while (1);
if (at_least_one_even_got == 0){
printf("Не введено ни одного чётного числа\n",max);
} else {
printf("Максимальное четное число: %i\n",max);
}
system("pause");
return 0;
}