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

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

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

здравствуйте! почти сделал программу, позволяющая убирать у числа две цифры-самую первую и самую последнюю. но никак не могу сделать счетчик, который бы считал числа.(n-количество чисел). в данной программе его приходиться вводить, а надо чтобы этого не было. помогите пожалуйста со счетчиком цифр в числе. вот программа:
#include<conio.h>
#include<stdio.h>
void main()
{
    int a,b,c=10,n,i;
    printf("a: ");
    scanf("%d",&a);
    printf("n: ");
    scanf("%d",&n);
    {
        for(i=1;i<n-1;i++) c=c*10;
        for(i=1;i<n;i++)
            if(i==1) b=a%c;
            if(i==n) b=b/10;
    }
    printf("a:%d\n",a);
    printf("b:%d\n",b);
    _getch();
}
___________________________________________ заранее спасибо.

Решение задачи: «Удалить у числа две цифры - самую первую и самую последнюю»

textual
Листинг программы
#include <stdio.h>
 
/* убирать у числа две цифры-самую первую и самую последнюю */
 
size_t powerOf(int d){
    size_t pwr = 10;
    while ( d / pwr )
        pwr *= 10;
    return pwr / 10;
}
 
int main(void){
    int num;
    size_t pwr;
 
    while ( 1 ){
        printf("Number: ");
        if ( scanf("%d", &num) != 1 || !num )
            break;
        pwr = powerOf(num);
        num = (num - num / pwr * pwr) / 10;
        printf("Result: %d\n", num);
    }
 
    return 0;
}

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

  1. Включаем стандартную библиотеку ввода-вывода
  2. Функция powerOf принимает целое число d и возвращает степень числа 10, которую нужно возвести в полученную степень, чтобы получить число d.
  3. В функции main мы считываем число с помощью scanf и сохраняем его в переменной num.
  4. Затем мы вызываем функцию powerOf, передавая ей число num, чтобы получить степень числа 10, которую нужно использовать для форматирования числа.
  5. Затем мы вычисляем новое значение num, удаляя самую первую и последнюю цифры. Для этого мы вычитаем num / pwr * pwr, что дает нам число без первой и последней цифры, и затем делим на 10, чтобы получить новое значение num.
  6. Мы продолжаем этот процесс до тех пор, пока пользователь не введет недействительное число или не решит остановиться.
  7. Наконец, мы выводим результат на экран с помощью printf.
  8. В конце функции main возвращаем 0, чтобы указать, что программа успешно завершилась.

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


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

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

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