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

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

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

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

Рекурсия: вычисления суммы цифр введенного натурального числа
Написать рекурсивную функцию вычисления суммы цифр натурального числа Число вводится пользователем

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

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

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

Для любого натурального числа напечатать количество цифр в записи этого числа
для любого натурального числа напечатать количество цифр в записи этого числа на Си (Тема:Циклы в...

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
1448 / 1157 / 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
шКодер самоучка
1968 / 1744 / 860
Регистрация: 09.10.2013
Сообщений: 3,854
Записей в блоге: 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

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

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

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


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

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

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