простейшая задача с help

Ответить
GeHa
Сообщения: 5
Зарегистрирован: 11 ноя 2009, 11:38

надо написать програму которая будет запрашивать у пользователя 3 значное число а потом разбивать его на сотни десятки и единицы
например ввели число 564 ответ должен быть 500+60+4

и надо использовать толко библиотеку <stdio.h>
DexterUa
Сообщения: 20
Зарегистрирован: 30 окт 2009, 11:16
Контактная информация:

без проверки число трехзначное или нет

Код: Выделить всё

#include <stdio.h>

void main()
{
	int x;
	printf("Enter number. x=");
	scanf("%i",&x);
	printf("\n%i00+%i0+%i",x/100,(x/10)%10,x%10);
}
с проверкой число трехзначное или нет

Код: Выделить всё

#include <stdio.h>

void main()
{
	int x;
	do{
	printf("Enter number. x=");
	scanf("%i",&x);
	}while(x<100||x>999);
	printf("\n%i00+%i0+%i",x/100,(x/10)%10,x%10);
}
GeHa
Сообщения: 5
Зарегистрирован: 11 ноя 2009, 11:38

пасиб большое!!!
ток что значит %i?
DexterUa
Сообщения: 20
Зарегистрирован: 30 окт 2009, 11:16
Контактная информация:

вывод переменной типа Integer
GeHa
Сообщения: 5
Зарегистрирован: 11 ноя 2009, 11:38

а можно сделать вместо %i %d?
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Можно, это считается как Decimal
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Какой разбор на разряды требуется? Только вывести в виде суммы разрядов, или разложить по нескольким переменным? Если по перемнным, то надо делить. А то что здесь приведено решает ту же задачу иммено в формулировке: разложить число по разрядам при выводе. Хотя первому посту тоже соответсвует, как и

Код: Выделить всё

 int x;
 int b;
 int *d;
 int  n;
 int i;
 cin>x;
 n=ln(x)/ln(10)+2;
 d=new int [n]; 
 i=0;
 for (b=x, b>=0; b/=10, ++i)
 {
  d[i]=b%10;
 }
 for (; i<n; ++i)
 {
  b[i]=0;
 }
, хотя этот код ничего вообще не выведет.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Я, конечно, на Си не пишу, но в такой задаче грех не извратиться! Звиняйте, если где напутаю с синтаксисом - думаю, общая идея будет понятна
void main()
{
char[3] x;
printf("Enter number. x=");
scanf("%s",&x);
printf("\n%s00+%s0+%s",x[0], x[1], x[2]);
}
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
GeHa
Сообщения: 5
Зарегистрирован: 11 ноя 2009, 11:38

Bсем огромное спасибо!!! :p
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
может кто знает какуюта книгу с задачами и их решением?
Ответить