Поменять местами первую и последнюю цифры в записи числа - C (СИ)
Формулировка задачи:
Дано натуральное число n. Поменять местами первую и последнюю цифры в записи числа. Подсчитать количество цифр в изображение числа. Не могу понять.
#include <stdio.h> int main(){ int n, s; printf("Введите натуральное число:\n"); scanf("%d", &n); for (s = 0; n > 0; s = s * 10 + n%10, n/=10){ } printf("%d\n", n); }
Решение задачи: «Поменять местами первую и последнюю цифры в записи числа»
textual
Листинг программы
#include <stdio.h> #include <math.h> #include <locale.h> int main(void){ setlocale(LC_ALL,"Ru"); int n,c=0,perv,posl,pr,st; printf("Введите натуральное число:\n"); scanf("%d",&n); pr=n; do{n/=10;c++;}while(n); posl=pr%10; st=pow(10,c-1); perv=pr/st; n=((pr-posl)+perv); n=n-perv*st+posl*st; printf("Количество цифр в числе: %d = %d\n",pr,c); printf("Число с переставленными 1-ой и последней цифрами: %d\n",n); return(0); }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с числами и ввода-вывода.
- Установка локали на русский язык.
- Объявление переменных:
- n - переменная для хранения введенного числа;
- c - счетчик количества цифр в числе;
- perv - предыдущая цифра числа;
- posl - последняя цифра числа;
- pr - первоначальное значение переменной n;
- st - степень десятки, соответствующая количеству цифр в числе.
- Вывод сообщения с просьбой ввести натуральное число.
- Считывание введенного числа в переменную n с помощью функции scanf.
- Очистка поля ввода после использования функции scanf.
- Цикл do-while, который будет выполняться до тех пор, пока n не станет равным 0.
- Деление n на 10 и увеличение c на каждой итерации цикла.
- Вычисление posl как остатка от деления pr на 10.
- Вычисление st как степени десятки, соответствующей количеству цифр в числе.
- Вычисление perv как целой части от деления pr на st.
- Вычисление n как разности pr и posl, с последующим умножением на st и добавлением posl*st.
- Вывод сообщения о количестве цифр в числе pr и соответствующем количестве цифр в числе c.
- Вывод сообщения о числе с переставленными 1-ой и последней цифрами в переменной n.
- Конец программы с возвратом 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д