Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MrGadik
0 / 0 / 0
Регистрация: 10.07.2010
Сообщений: 25
#1

Разложение числа на цифры (где ошибка?) - C++

08.12.2010, 18:33. Просмотров 1019. Ответов 2
Метки нет (Все метки)

Надо разложить четырехзначное число на цифры.
Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>     
void main()
{
int N,a,b,c,d;
printf("Введите четырехзначное число N:");
scanf("%d",&N);
a=N/1000;
b=N/100-a*10;
c=N/10-a*100-b*10;
d=N%10;
printf("\n a=%d",&a);   
printf("\n b=%d",&b);
printf("\n c=%d",&c);
printf("\n d=%d",&d);
}
Т.е. способ банален - делю нацело и вычитаю все ненужное.
Однако когда я пытаюсь посмотреть значения полученных чисел то наблюдаю такую картину:
N=1234
a=13468
b=13464
c=13470
d=13466
В чем ошибка? Почему выскакивают такие значения? Заранее спасибо.
P.S.: Пишу в Visual C++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 18:33     Разложение числа на цифры (где ошибка?)
Посмотрите здесь:

В десятичной записи числа 42*4* пропущены 2 цифры. Определите эти цифры, если известно, что число кратно 72. C++
C++ Где ошибка в программе ищущей простые числа в рандомном массиве ?
C++ Разложение числа на различные цифры
C++ Разложение числа на цифры
C++ Удалить из числа все повторяющиеся цифры кроме первого вхождения. Ошибка в коде
Где ошибка? (произведение цифр заданного целого четырехзначного числа) C++
C++ Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд
C++ Замена последней цифры на значение наименьшей цифры в записи числа N
Разложение на цифры числа C++
Вывести сумму первой и третьей цифры и произведение второй и четвертой цифры числа, заданного пользователем C++
C++ Циклы: найти произведение последней цифры и минимальной цифры числа с произведением всех остальных
Образовать новое число, путём замены последней цифры на значение наименьшей цифры в записи исходного числа C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
08.12.2010, 18:40     Разложение числа на цифры (где ошибка?) #2
А так ?
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main(void)
{
    int n = 1234;
    int n1 = n % 10;
    int n2 = (n % 100-n1)/10;
    int n3 = (n % 1000-n1)/100;
    int n4 = (n % 10000-n1)/1000;
    printf("%d %d %d %d", n4, n3, n2, n1);
    return 0;
}
MrGadik
0 / 0 / 0
Регистрация: 10.07.2010
Сообщений: 25
08.12.2010, 20:36  [ТС]     Разложение числа на цифры (где ошибка?) #3
а так работает, спасибо))
А может кто нить сказать где я скосячил? что не так?
Yandex
Объявления
08.12.2010, 20:36     Разложение числа на цифры (где ошибка?)
Ответ Создать тему
Опции темы

Текущее время: 11:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru