Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/40: Рейтинг темы: голосов - 40, средняя оценка - 4.90
 Аватар для deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46

Первую и последнюю цифры произвольно числа поменять местами

12.02.2012, 19:34. Показов 7605. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть произвольное пятизначное число, которое вводиться с клавиатуры, к примеру 65489. Нужно вывести первую и последнюю цифры и после чего поменять их местами.
Я их вывел следующим образом:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
main(){
   int x,y,z;
   printf("X= ");
   scanf("%d",&x);
   y = x/10000;
   printf("First number= %d",y);
   z = x%10;
   printf("\nLast number= %d",z);
   return 0;
}
Как поменять первую и последнюю цифры местами?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.02.2012, 19:34
Ответы с готовыми решениями:

Первую и последнюю цифры произвольно числа поменять местами
Есть произвольное пятизначное число, которое вводиться с клавиатуры, к примеру 65489. Нужно вывести первую и последнюю цифры и после чего...

Поменять местами первую и последнюю цифры числа
Поменять местами первую и последнюю цифры числа. Помогите пожалуйста, а то с C++ вообще никогда не приходилось работать :(

Поменять местами первую и последнюю цифры десятичного числа
Не понимаю,как реализовать программу на с++ так,чтобы она меняла первый и последний элементы числа местами,независимо от длины числа. Т.е....

6
1 / 1 / 1
Регистрация: 28.09.2011
Сообщений: 9
12.02.2012, 19:40
без ввода третьей переменной так
C++
1
2
3
y=y-z;
z=y+z;
y=z-y;
0
 Аватар для deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
12.02.2012, 19:43  [ТС]
Цитата Сообщение от UmeD Посмотреть сообщение
без ввода третьей переменной так
C++
1
2
3
y=y-z;
z=y+z;
y=z-y;
Мне нужно поменять первую и последнюю цифры в ЧИСЛЕ, а не в переменных. То есть изначальное число 65489, а нужно что бы после преобразования было 95489.
0
1 / 1 / 1
Регистрация: 28.09.2011
Сообщений: 9
15.02.2012, 22:44
C++
1
2
z = x%10000;
x=(z+x%10)*10000
так последнюю мы переместим на место первой
C++
1
2
3
y = x/10000;
y=x%10-y
x=x-y
так мы первую цифру переместим на место последней
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
16.02.2012, 00:05
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
#include <stdio.h>
#include <math.h>
 
#define digits_count(n) ( (int)log10((double)(n)) + 1 )
 
unsigned swap_first_last_digits(unsigned number){
    if ( number > 9 && number < 1000000000 ){
        unsigned numPower = (unsigned)pow(10.0, (double)digits_count(number) - 1.0);
        unsigned firstDigit = number / numPower;
        unsigned lastDigit = number % 10;
        
        return number - lastDigit + firstDigit - firstDigit * numPower + lastDigit * numPower;
    }
    
    return number;
}
 
int main(void){
    unsigned n;
    
    while ( printf("Number: ") && scanf("%u", &n) == 1 )
        printf("Result: %u\n", swap_first_last_digits(n));
    
    return 0;
}
При числах > 1000000000 возможно переполнение.
0
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 22
12.10.2012, 21:31
Я делал такое же задание, довольно таки интересное, возился долго:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include<conio.h>
int main(void)
{
int n,n1,n2;
printf("N= ");
scanf("%d",&n);
n1 = n/10000;
if(n1<=0)
n1++;
printf("\nFirst digit: %d",n1);
n2 = n%10;
if(n2<=0)
n2++;
printf("\nLast digit: %d",n2);
printf("\n\nDisplaced digit 1: %d\n  \nDisplaced digit 2: %d\n",n2,n1);
 
getch();
 
return 0;
}
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.10.2012, 12:49
задачка не сложная:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
 
unsigned long Change(unsigned long a)
{
   unsigned long x, y, deg = 1, b = a;
   x = y = a % 10;
   while (a /= 10)
   {
      x = a % 10;
      deg *= 10;
   }
   b += (x - y);
   return y * deg + b % deg; 
}
 
int main()
{
   printf("%lu\n", Change(123));   
   return 0;    
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.10.2012, 12:49
Помогаю со студенческими работами здесь

В трехзначном числе поменять местами первую и последнюю цифры
Условие: разработать функцию которая в трехзначном числе меняет местами первую и последнию цифру с++ Разработал функцию, но вот что в...

Переставить местами первую и последнюю цифры заданного числа
Дано натуральное число n. Переставить местами первую и последнюю цифры этого числа

Поменять местами первую и последнюю цифру числа
Поменять местами первую и последнюю цифру числа. Например, было – 12345, стало 52341.

Переставить местами первую и последнюю цифры заданного натурального числа
2.Дано натуральное число п. Переставить местами первую и последнюю цифры этого числа. Благодарю

Дано натуральное число n. Переставить местами первую и последнюю цифры числа n
Дано натуральное число n. Переставить местами первую и последнюю цифры числа n.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru