Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Столкнулся с интересной задачкой по С.  (Прочитано 6373 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Fynjy
Гость
« : 25-10-2009 13:06 » 

Столкнулся с интересной задачкой по С Улыбаюсь. Вроде всё ясно, НО столкнулся с проблемой её написания (если что я новичок в програмировании на С). Задача такая: "Написать программу нахождения суммы четных разрядов числа X, вводимого с клавиатуры."(если кто не понял это значит я ввожу число "2574", а он складывает 2 и 4). Не могу написать программу из-за незнания операторов языка. Конкретно я не знаю как запихать программу в цикл (цикл нахождения чётных разрядов в числе). А черт его знает...
Вот мои догадки (программа для числа "2574" (но она должна быть для любого числа) складывающая все её разряды Улыбаюсь ):
Код:
#include <stdio.h>
int main()
{
int a,b,c,d,e,f;
printf("Ввести 2574: \n");
scanf("%d",&a);
b=a%10; // Записывает в b число 4
a=a/10;
с=a%10; // Записывает в с число 7
a=a/10
d=a%10; // Записывает в d число 5
a=a/10;
e=a%10; // Записывает в е число 2
f=b+c+d+e;
printf("Результат: %d \n",f);
}
Пожалуйста помогите, а то работа стоит. Жаль
« Последнее редактирование: 26-10-2009 08:13 от Джон » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 25-10-2009 13:33 » 

Для начала можно обойтись проверкой чётности разряда. Проверка записывается при помощи оператора
Код: (C)
if(...)
{
}
else
{
}
Где вместо многоточия - логическое или числовое выражение, дающее 0 (ложь) или не 0 (истина). Секция else необязательна. Модифицируй свой код, чтобы складывать только чётные разряды.

Потом до цикла дойдём.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Fynjy
Гость
« Ответ #2 : 25-10-2009 13:58 » 

Спасибо за подсказку Класс!. Не могли бы вы мне рассказать про цикл и как в него записать условие. Пожалуйста. Улыбаюсь
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #3 : 25-10-2009 14:42 » 

Для твоих условий подойдет цикл
Код:
while (...)
{
}
Заместо троеточия нужно условие, по тому же принципу, что привел Dimka. А вообше такие веши смотрятся в любой достаточно нормальной книжке. Думаю там будет не более страниц 50 с описанием всех операторов. Прочитать можно буквально за часик.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Fynjy
Гость
« Ответ #4 : 02-11-2009 02:30 » 

ОК. А какую книжку лучше выбрать для одновременно простого и полного изложения языка С?
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 02-11-2009 07:09 » new

Fynjy, простое не значит краткое, а изложение не значит учебник. См. учебники Подбельского, Фомина.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines