|
30 / 30 / 2
Регистрация: 22.11.2010
Сообщений: 84
|
||||||
Подсчёт количества цифр в целом числе31.08.2011, 22:59. Показов 17869. Ответов 50
Метки нет (Все метки)
Напишите программу, которая считывает целое число и определяет (выводя результат на печать), сколько цифр в этом числе равно 7.
Думаю задачу нужно решать так: По этому принципу
Только вот вопрос: как осуществить это для любых целых чисел? Так как представляю себе только для фиксированного числа(5-ти, шести - значного и т.п.)
0
|
||||||
| 31.08.2011, 22:59 | |
|
Ответы с готовыми решениями:
50
Подсчет количества цифр в числе (рекурсивно)
|
|
Higher
|
|||||||
| 01.09.2011, 13:22 | |||||||
|
true - если не равно нулю, false - если равно. Поэтому ничего кроме true или false bool содержать не может. true во всех компиляторах, что я встречал, равна единице. Но что в стандарте по этому поводу сказано - не знаю. P.S. вывод gcc
0
|
|||||||
|
|
|
| 01.09.2011, 13:27 | |
|
diagon, в языке Си нет типа bool, там истина и ложь - целые числа, где 0 - ложь, а истина - все остальное. И очень много логических функций в Си, которые прописаны в библиотеках, возвращают именно 0 или целое ненулевое число, которое интерпретируется как истина.
0
|
|
|
|
||||||
| 01.09.2011, 13:28 | ||||||
|
Я вижу два варианта. Первый - делить число на 10, однако он не самый лучший, потому что при вводе scanf получает строку, которую потом преобразовывает в число, которое мы потом всё равно обрабатываем фактически как строку (поразрядно), что несколько извращённо. Второй вариант - ввести строку, не заставляя машину преобразовывать её в число, и обрабатывать как строку, не заставляя машину вычислять результаты деления и результаты деления с остатком.
asdasdasd -7777. Первый работает неверно, говоря, что в числе одна семёрка.
0
|
||||||
|
Кошковед
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
|
|
| 01.09.2011, 13:39 | |
|
я вот упускаю момент, нафига так усложнять?
есть по заданию вводится число, то зачем геморрой со строками? взял число. начал цикл. посмотрел остаток от деления на 10. увеличил счетчик. поделил на десять.закончил цикл. Добавлено через 51 секунду если вводят строку - пишешь большими буквами "ЧИСЛО А НЕ БУКВЫ!!! ЧИТАЙ ЗАДАНИЕ!!!" и лупишь линейкой по рукам
0
|
|
|
|
||
| 01.09.2011, 13:41 | ||
0
|
||
|
|
|||||||||||||||||
| 01.09.2011, 13:54 | |||||||||||||||||
|
int sdigits(int num)
Это сам код в Си
0
|
|||||||||||||||||
|
Кошковед
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
|
|
| 01.09.2011, 13:55 | |
|
13 ассемблеровских строк это конечно весомый аргумент.
ну ка приведи мне еще асмовскую версию проверки строки и числа в цикле.
0
|
|
|
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
|
|
| 01.09.2011, 13:58 | |
|
0
|
|
|
|
||||||
| 01.09.2011, 14:02 | ||||||
|
С учетом любезного замечания stdcout, получается такой неплохой вариант:
0
|
||||||
|
|
||||
| 01.09.2011, 14:06 | ||||
|
Добавлено через 3 минуты
0
|
||||
|
|
||||||||||||||||||||||||||
| 01.09.2011, 14:24 | ||||||||||||||||||||||||||
|
Вобщем вот сравнительная характеристика строчного подсчёта, цикла по 10-ке а также рекурсии (кстати в асме - она наибольше кода занимает!)
Enter number : 2569 Digits in 2569 : sdigits : 4 idigits : 4 idigits2: 4 Press any key to continue ASM: [Отработка алгоритма] Enter number : 2569 Digits in 2569 : sdigits : 4 idigits : 4 idigits2: 4 Press any key to continue
Добавлено через 2 минуты Thinker, я модернизировал твою функцию до более простой в моём понимании,
0
|
||||||||||||||||||||||||||
|
|
|
| 01.09.2011, 14:26 | |
|
-=ЮрА=-, спасибо за сравнительный анализ. Добавлю, что я ранее написал, что алгоритм у Jupiter лучше, так как там итерация, сам бы первым делом так же написал. Пример с рекурсией это просто малюсенькое дополнение
0
|
|
|
Путешественник вселенной
189 / 161 / 119
Регистрация: 01.03.2011
Сообщений: 664
|
||||||
| 01.09.2011, 14:28 | ||||||
|
Вот что-то написал.
0
|
||||||
|
|
|
| 01.09.2011, 14:30 | |
|
0
|
|
| 01.09.2011, 14:30 | |
|
Определение количества цифр в целом числе
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|