Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2008, 18:52   #1
mig-29
Пользователь
 
Регистрация: 03.04.2008
Сообщений: 10
По умолчанию Как разделить введённое n значное число на отдельны цифры?

Изучаю С по книге дейтеля,в одном из упражнений стоит сл. задача:
Написать программу,которая считывает число из 5 цифр,разделяет это число на отдельные цифры и выводит эти цифры отделя пробелами.
напр если ввели 45612 то вывести должно 4 5 6 1 2.

Все задания выполнил кроме этого,понимаю что метод есть в книге,но пересматривая главу так и не нашёл как.
Всё что я смог:


main ()
{

int n;
printf ("vvedite chislo:\n")
scanf ("%d",&n);

а вот что здесь должно быть? Т.к. этот оператор просто вывводит то же число

printf("razdelionnoe chislo:%d\n",n);

return 0.

}

СПАСИБО!!!
mig-29 вне форума Ответить с цитированием
Старый 03.04.2008, 19:04   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Смотри функции перевода число в строку и обратно. По моему что вроде atoi и itoa
Hollander вне форума Ответить с цитированием
Старый 03.04.2008, 19:10   #3
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Код:
#include <stdio.h>
int main ()
{
	int n, i = 0;
	char digits[16];

	printf ("vvedite chislo:\n");
	scanf ("%d",&n);
	
	n = n < 0 ? -n : n;
	do digits[i++] = n % 10; while(n /= 10);
	while(--i >= 0) printf("%d\n", digits[i]);
	
	getchar();
	return 0;
}
B_N вне форума Ответить с цитированием
Старый 03.04.2008, 19:15   #4
mig-29
Пользователь
 
Регистрация: 03.04.2008
Сообщений: 10
По умолчанию

Это самый простой метод?
Это задание из 2 главы,там не обсуждались массивы,т.е. всё самое простое.Спасибо
mig-29 вне форума Ответить с цитированием
Старый 03.04.2008, 19:41   #5
mig-29
Пользователь
 
Регистрация: 03.04.2008
Сообщений: 10
По умолчанию

в смысле в этолй главе не было ни "while" ни "do" ни "if"
следовательно не предполагаеться их использование.
СПАСИБО огромное ещё раз.
mig-29 вне форума Ответить с цитированием
Старый 03.04.2008, 19:42   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от mig-29 Посмотреть сообщение
Это задание из 2 главы,там не обсуждались массивы
А массивы, конечно, это очень сложно
Код:
#include <stdio.h>
int main ()
{
	long n, i;
	unsigned long f = 1;

	printf ("vvedite chislo:\n");
	scanf ("%d",&n);
	
	n = i = n < 0 ? -n : n;
	while(i /= 10) f *= 10;
	while(f) {
		printf("%d\n", n / f );
		n %= f;
		f /= 10;
	}
	getchar();
	return 0;
}
------------------------------
Цитата:
Сообщение от mig-29 Посмотреть сообщение
в смысле в этолй главе не было ни "while" ни "do" ни "if"
Приехали... А что же там тогда было-то...

Последний раз редактировалось B_N; 03.04.2008 в 19:44.
B_N вне форума Ответить с цитированием
Старый 03.04.2008, 19:43   #7
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

--------------------
B_N вне форума Ответить с цитированием
Старый 03.04.2008, 19:53   #8
mig-29
Пользователь
 
Регистрация: 03.04.2008
Сообщений: 10
По умолчанию

а нет,есть if" да и только.
спасибо,пороюсь ещё!
mig-29 вне форума Ответить с цитированием
Старый 03.04.2008, 19:56   #9
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от mig-29 Посмотреть сообщение
а нет,есть if" да и только.
спасибо,пороюсь ещё!
Ааа, то есть if всё-таки есть. Ну значит переделайте циклы в if и goto. Хоть это и глупость.
B_N вне форума Ответить с цитированием
Старый 03.04.2008, 20:03   #10
mig-29
Пользователь
 
Регистрация: 03.04.2008
Сообщений: 10
По умолчанию

спасбо .
да наверное глупо,незнаю..упражниения строяться от простого к сложно му..но если это глупо..ну всё равно,попробую
И вообще,начал и С изучать а потом к с++ перейду,что посоветуете?
"учился" в институте,вот щас заново приходиться всё,так как ленился раншье,не поздновато ли? мне 25 уже.
mig-29 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как разделить введённое n значное число на отдельны цифры? mig-29 Общие вопросы C/C++ 5 22.05.2009 16:30
Найти и вывести все слова,у котоpых число гласных букв пpевышает число согласных. Briz Помощь студентам 2 11.05.2008 00:56
Как разделить число и текст в одной ячейки на две ячейки. neboskreb Microsoft Office Excel 2 15.04.2008 19:39
Помогите разделить цифры по ячейкам Alex2019 Microsoft Office Excel 8 01.02.2008 07:10
Число N, заменить одну из его цифр, чтобы получилось число, max близкое к некоторой степени двойки urgu_st Помощь студентам 13 23.10.2007 09:14