Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.94
deepLulz
4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
#1

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

12.02.2012, 19:34. Просмотров 2804. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2012, 19:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Первую и последнюю цифры произвольно числа поменять местами (C++):

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

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

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

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

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

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

6
UmeD
1 / 1 / 0
Регистрация: 28.09.2011
Сообщений: 9
12.02.2012, 19:40 #2
без ввода третьей переменной так
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  [ТС] #3
Цитата Сообщение от UmeD Посмотреть сообщение
без ввода третьей переменной так
C++
1
2
3
y=y-z;
z=y+z;
y=z-y;
Мне нужно поменять первую и последнюю цифры в ЧИСЛЕ, а не в переменных. То есть изначальное число 65489, а нужно что бы после преобразования было 95489.
0
UmeD
1 / 1 / 0
Регистрация: 28.09.2011
Сообщений: 9
15.02.2012, 22:44 #4
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
easybudda
Модератор
Эксперт CЭксперт С++
10000 / 5923 / 997
Регистрация: 25.07.2009
Сообщений: 11,170
16.02.2012, 00:05 #5
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
Ricco
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 22
12.10.2012, 21:31 #6
Я делал такое же задание, довольно таки интересное, возился долго:
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
Эксперт С++
4231 / 2205 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.10.2012, 12:49 #7
задачка не сложная:
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2012, 12:49
Привет! Вот еще темы с ответами:

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

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

Поменять местами n-ю и первую цифры числа - C++
Задание 2. Дано натуральное число. Обозначим через п количество разрядов в числе. Например, 12345: 1 - пятая цифра, 2 - четвертая цифра,...

Переставить местами первую и последнюю цифры - C++
Дано четырехзначное натуральное число.Переставить местами первую и последнюю цифры


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru