4 / 4 / 0
Регистрация: 12.02.2012
Сообщений: 46
1

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

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

Author24 — интернет-сервис помощи студентам
Есть произвольное пятизначное число, которое вводиться с клавиатуры, к примеру 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2012, 19:34
Ответы с готовыми решениями:

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

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

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

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

6
1 / 1 / 1
Регистрация: 28.09.2011
Сообщений: 9
12.02.2012, 19:40 2
без ввода третьей переменной так
C++
1
2
3
y=y-z;
z=y+z;
y=z-y;
0
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
1 / 1 / 1
Регистрация: 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
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12451 / 7476 / 1752
Регистрация: 25.07.2009
Сообщений: 13,741
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
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
Эксперт С++
4267 / 2241 / 203
Регистрация: 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
13.10.2012, 12:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2012, 12:49
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru