24.05.2017, 16:38 [+3 UTC]
в нашей команде: 1 982 чел. | участники онлайн: 13 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
20.05.2017, 22:36

Последний вопрос:
23.05.2017, 22:38

Последний ответ:
23.05.2017, 10:43

Последняя рассылка:
23.05.2017, 20:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 703
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 147
mklokov
Статус: 5-й класс
Рейтинг: 80

Перейти к консультации №:
 

Консультация онлайн # 190271
Раздел: • С / С++
Автор вопроса: maxim387 (Посетитель)
Отправлена: 11.12.2016, 15:48
Поступило ответов: 1

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

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

Состояние: Консультация закрыта

Ответ # 274428 от Лысков Игорь Витальевич (Старший модератор)

Здравствуйте, maxim387!
Например, так

#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;
}


Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 12.12.2016, 18:46

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13978 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн