Удалить у числа две цифры - самую первую и самую последнюю - 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; }
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Функция
powerOf
принимает целое числоd
и возвращает степень числа 10, которую нужно возвести в полученную степень, чтобы получить числоd
. - В функции
main
мы считываем число с помощьюscanf
и сохраняем его в переменнойnum
. - Затем мы вызываем функцию
powerOf
, передавая ей числоnum
, чтобы получить степень числа 10, которую нужно использовать для форматирования числа. - Затем мы вычисляем новое значение
num
, удаляя самую первую и последнюю цифры. Для этого мы вычитаемnum / pwr * pwr
, что дает нам число без первой и последней цифры, и затем делим на 10, чтобы получить новое значениеnum
. - Мы продолжаем этот процесс до тех пор, пока пользователь не введет недействительное число или не решит остановиться.
- Наконец, мы выводим результат на экран с помощью
printf
. - В конце функции
main
возвращаем 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д