Поставить число D перед K с функцией AddLeftDigit(D, K) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Знаю, что проблема скорее с вызовом функции, но в чем именно уже без понятия. Уверен, что должны быть люди которые на этом не одну собаку сьели. (Я уже писал эту программу правильно и все работало, но потом случайно удалил...)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int schet(int K)
{
    int count = 1;
    
    while ( K = K / 10 )
        count++;
 
    return count;
}
int AddLeftDigit(int D, int K){
    int res;
    int i = schet(K);
    int n ;
    n = pow(10, i);
    res=D*n+K;
    return printf("%d", res);
}

int main(int argc, char *argv[]) {
    int D, K;
    
    printf("enter D:" );
    scanf("%d", & D);
    if(D>=1&&D<=9){
        printf("Enter K:");
        scanf("%d", &K);
    }
    else{ printf("Error");
    }
int AddLeftDigit(int D, int K);
    
    return 0;
}

Решение задачи: «Поставить число D перед K с функцией AddLeftDigit(D, K)»

textual
Листинг программы
#include <stdio.h>
 
int schet(int k) {
    return (k == 0) ? 0 : 1 + schet(k / 10);
}
 
int powint(int b, unsigned e) {
    return (e == 0) ? 1 : b * powint(b, e - 1);
}
 
int AddLeftDigit(int d, int k) {
    return d * powint(10, schet(k)) + k;
}
 
 
int main() {
    int d, k;
 
    printf("D and K: ");
    scanf("%d %d", &d, &k);
 
    printf("result: %d\n", AddLeftDigit(d, k));
 
    return 0;
}

Объяснение кода листинга программы

  1. Включаем файл стандартного ввода/вывода
  2. Функция schet(int k) реализует рекурсивную функцию для определения количества цифр в числе k.
  3. Функция powint(int b, unsigned e) реализует возведение в степень для числа b и степени e.
  4. Функция AddLeftDigit(int d, int k) добавляет число d с наибольшим весом перед числом k.
  5. В функции main() считываем числа d и k с помощью scanf().
  6. Вызываем функцию AddLeftDigit(d, k) и выводим результат на экран с помощью printf().
  7. Возвращаем 0, чтобы указать, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы