Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать массив элементов http://www.cyberforum.ru/cpp-beginners/thread445094.html
Подскажите пожалуйста как создать класс “Колода карт”, содержащий массив элементов класса “карта”. Видел примеры на шарпе, но не могу переделать на С++. Помогите пожалуйста
C++ Ограничение на ввод Как сделать ограничение, чтобы |x|>3? Помогите пожалуйста #include "stdafx.h" #include "conio.h" #include "stdio.h" #include "math.h" #include <iostream> using namespace std; int main (int argc, char* argv) http://www.cyberforum.ru/cpp-beginners/thread445079.html
C++ Даны 2 числа определяющие невисокосный год, D(день) и M(месяц). Определите D и M следующего за этой датой.
Даны 2 числа определяющие невисокосный год, D(день) и M(месяц). Определите D и M следующего за этой датой.
C++ Отсортировать по уменьшению массив максимальных элементов столбцов матрицы
#include <vcl.h> #include <conio.h> #include <stdlib.h> #include <stdio.h> int main { int i,j,m,n,max=-10000; int **a; printf("n="); scanf("%d", &n); printf("m="); scanf("%d", &m);
C++ Даны целые числа от 1 до 5, надо вывести характеристику оценки, которая соответствует одному из этих чисел (1 – «плохо», 2 – «неудовлетворительно», http://www.cyberforum.ru/cpp-beginners/thread445064.html
Даны целые числа от 1 до 5, надо вывести характеристику оценки, которая соответствует одному из этих чисел (1 – «плохо», 2 – «неудовлетворительно», 3 – «удовлетворительно», 4 – «хорошо», 5 – «отлично»). Если целое число не лежит в этом диапозоне, то на экран должен выйти ответ «ошибка».
C++ LPWSTR в char* Доброго времени суток! Совсем запутался в этих строках. Получаю строку из text-box'a. Хочу проверить, является ли она числом.. для этого надо перевести её в нормальный массив символов char*.. Каааак это сделать?? LPWSTR str; GetWindowText(hEditText, str, 4);//текст из текст-бокса MessageBox(hWndMain,LPCWSTR(str), LPCWSTR("sdf"), MB_OK);//ничего не выводится ... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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 возможно переполнение.
 
Текущее время: 22:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru