Наибольшее четное без массива
С клавиатуры вводится последовательность целых чисел. Определить наибольшее среди четных чисел. Признак конца ввода - 0
Среди положительных чисел у меня все нормально, а вот если вводить: 3,7,-4,-2 0 выводится 0(( а должно вывестись -2 [code=cpp] # include <math.h> int main() { setlocale(LC_CTYPE, ""); int k,l,max; l=0; printf("Введите цифры"); while (k!=0) { scanf("%i", &k); if ((k%2)==0) { l=1; max=k; if (l) { if (max<k) { max=k; } }} } printf("Максимальное четное число=%i",max); getch(); } [/code] |
lerenia, ошибка в том, что Вы берете из потока ввода нуль и не завершаете цикл, а продолжаете его. Нужно добавить код:
Код:
if (k == 0){ |
deviance, промучаясь вчера еще часик я все таки добилась чего хотела) и кстати без break; не люблю его использовать так как всегда путаюсь с ним в цикле)
вообщем я решила проблему так: Код:
#include <stdio.h> |
lerenia, Ошибка 1:
Код:
if (l=0) Ошибка 2: Код:
if ((k%2)==0) Код:
-2 -990 0 |
deviance, решение внушительно) если честно половину из него не поняла) вроде бы задачка простенькая и такое громоздкое решение) что ж пойду разбираться
|
lerenia, у меня 33 строки, а у Вас - 35. У кого внушительнее?
|
deviance,
я не про количество строк, а про саму логику) но я уже разобралась) |
Время: 06:38. |
Время: 06:38.
© OSzone.net 2001-