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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.02.2009, 09:37   #1
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
Вопрос Узнать кол-во цифр в числе при помоци for и if

Вот у меня какой-то ступор..нужно найти кол-во цифр в веденном числе используя только if и for..вот кое что:
Код:
#include <stdio.h>
int main(){
	int i,a;
	scanf("%d",&a);
	for(i=1;a/i;i=i*10){
		if(a/i==1||a/i==2||a/i==3||a/i==4||a/i==5||a/i==6||a/i==7||a/i==8||a/i==9){	
			printf("%d ",i);
		}
	}
	return 0; 
}
Эта кусок находит на что нужно раздеить чтоб получилось число от 1 до 9. А как теперь его проебразовать в число цифр..ведь явно писать
if (i==1){printf("%d",1)}
if (i==10){printf("%d",2)}, просто глупо..

Есть у кого варианты? (Если что мой вариант пробный и это моя попытка реализовать..поэтому не обязательно все должно быть так..главное чтобы использую if и for)
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума
Старый 23.02.2009, 10:04   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Код:
if ( a == 0 ) k = 1;
else for ( k = 0; a > 0; k++ ) a /= 10;
Arigato вне форума
Старый 23.02.2009, 10:14   #3
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

Да, спс! Все работает! А немгли бы вы объяснить что здесь происходить..не могу чтот понять..
Цитата:
if ( a == 0 ) k = 1;
else for ( k = 0; a > 0; k++ ) a /= 10;
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.

Последний раз редактировалось MAKEDON; 23.02.2009 в 10:26.
MAKEDON вне форума
Старый 23.02.2009, 10:30   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
А немгли бы вы объяснить что здесь происходить..не могу чтот понять..
А это, пожалуйста, сами. Книгу в руки и разбирайтесь в этих 2-х строчках.
Arigato вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отрегулировать кол-во знаков после запятой, при выведении числа(delphi) photozaz Общие вопросы Delphi 11 10.02.2011 21:20
IBQuery как узнать кол-во записей? Yuran БД в Delphi 5 03.09.2010 23:11
Найти количество цифр в числе immor Помощь студентам 4 14.02.2009 22:30
Перестановка цифр в целом числе. Паскаль. Cheetah Помощь студентам 5 16.10.2008 21:07