Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Mr_Azriel
0 / 0 / 2
Регистрация: 20.04.2015
Сообщений: 13
#1

Подпрограмма для вычисления количества цифр натурального числа (рекурсия) - C (СИ)

30.06.2015, 16:42. Просмотров 448. Ответов 3
Метки нет (Все метки)

Дошли до подпрограмм. До этого как-то шарил, а в них вот плаваю. Помогите!
ТЗ: написать подпрограмму для вычисления количества цифр натурального числа.
http://www.cyberforum.ru/c-beginners/thread1634569.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2015, 16:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Подпрограмма для вычисления количества цифр натурального числа (рекурсия) (C (СИ)):

Написать рекурсивную функцию вычисления количества цифр натурального числа
написать рекурсивную функцию вычисления количества цифр натурального числа

Составить программу вычисления суммы цифр введенного с клавиатуры натурального числа
Н-р: для числа 128 сумма цифр 11 Помогите пожалуйста.

Подпрограмма для вычисления различных степеней заданного числа
Нужно создать программу с использованием подпрограммы для вычисления {x}^{a} ,...

Для любого натурального числа напечатать количество цифр в записи этого числа
для любого натурального числа напечатать количество цифр в записи этого числа...

Составить программу вычисления значения для задаваемого натурального числа N
Не могу понять, как решить данную задачу. Текст задачи звучит так: "Составить...

3
Sn1p3rOk
281 / 168 / 85
Регистрация: 19.04.2014
Сообщений: 1,098
Завершенные тесты: 2
30.06.2015, 17:15 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int CountInN(int number, int count)
{
    if(number)
    {
        number /= 10;
        count ++;
    }
    else
    {
        return count;
    }
 
    CountInN(number, count);
}
 
int main()
{
    int number = 0;
    int count = 0;
 
    scanf("%d", &number);
    printf("%d", CountInN(number, count));
 
    return 0;
}
0
MansMI
1447 / 1156 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
30.06.2015, 17:25 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int func(int n)
{
    if(!n) return 0;
    return 1+func(n/10);
}
 
int main(int argc,char* argv[])
{
    unsigned n;
 
    setlocale(LC_ALL, "Russian");
    printf("Число:");
    scanf("%u",&n);
    printf("%d",func(n));
    getch();
    return 0;
}
1
Max Dark
шКодер самоучка
1890 / 1690 / 834
Регистрация: 09.10.2013
Сообщений: 3,748
Записей в блоге: 6
Завершенные тесты: 2
01.07.2015, 10:07 #4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
size_t cnt__(int n, size_t c) {
    if (n == 0)
        return c;
    return cnt__(n / 10, c + 1);
}
size_t cnt(int n) { return cnt__(n, 0); }
Добавлено через 14 часов 47 минут
C
1
2
3
4
5
size_t cnt(int n) {
    if (n == 0) // обрабатываем особый случай
        return 1;
    return cnt__(n, 0); // общий случай
}
так правильнее(вроде)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2015, 10:07
Привет! Вот еще темы с решениями:

Написать рекурсивную процедуру для вывода на экран цифр натурального числа в обратном порядке
необходимо написать рекурсивную процедуру для вывода на экран цифр натурального...

Рекурсия: вычисление количества цифр в строке
Составить рекурсивную функцию int DigitCount(char *s, int n) целого типа,...

Написать программу вычисления факторила натурального числа n
Написать программу вычисления факторила натурального числа n....

Найти сумму цифр заданного натурального числа
Найти сумму цифр заданного натурального числа На Си (функции и процедуры)


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru