Консультация № 190271
11.12.2016, 15:48
0.00 руб.
0 1 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

В числовую переменную последовательно вводятся отличные от нуля целые числа (0 –
конец последовательности). Определить и вывести на экран, какие два числа (чётные или
нечётные) были введены последними и какова их сумма. Язык программирования Си. Помогите пожалуйста.

Обсуждение

давно
Посетитель
7438
7205
12.12.2016, 18:46
общий
это ответ
Здравствуйте, maxim387!
Например, так
[code h=200]
#include <stdio.h> //printf, scanf
#include <conio.h> //_getch

int main()
{
int last = 0; //последнее введенное число
int previous = 0; //предпоследнее введенное число
int num; //сюда будем вводить число

while(1) //бесконечный цикл, выход после ввода 0
{
printf("Enter number (0 - exit): "); //приглашаем ввести число
scanf("%d", &num); //вводим
if (num == 0) //= 0 ?
break; //выходим из бесконечного цикла
previous = last; //бывшее последнее становится предпоследним
last = num; //введенное - последним
}
//считаем и выводим
//чет/нечет определяем по младшему биту
printf("Previous number %d is %s\nLast number %d is %s\n%d + %d = %d\n",
previous, (previous&1)?"odd":"even", //значение предыдущего числа и слово нечетное(odd)/четное(even)
//в зависимости от младшего бита (1 - нечетное)
last, (last&1)?"odd":"even", //аналогично для последнего
previous, last, previous+last); //значения последних чисел и их сумма

_getch(); //ждем нажатие на клавишу
return 0;
}[/code]
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа