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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.72
vadosik
6 / 6 / 0
Регистрация: 18.04.2011
Сообщений: 63
#1

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

07.11.2011, 13:08. Просмотров 2230. Ответов 14
Метки нет (Все метки)

Всего цифр с числе может быть до 5 (тип числа int). Собсно как?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2011, 13:08     Написать программу которая складывает первую и последнюю цифру числа.
Посмотрите здесь:

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

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

Определить и вывести первую и последнюю цифру числа - C++
Не знаю, как сделать, чтобы программа одновременно находила первое и последнее число #include <stdio.h> #include <conio.h> int...

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

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

Определить первую/последнюю цифру данного натурального числа - C++
Привет Всем, мне нужна помощь в решении одной задачи по С++. Задача такова: Дано натуральное число. Определить: А) Его первую цифру. ...

Как сделать через класс? Дано число. Удалить из числа первую и последнюю цифру - C++
...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.11.2011, 13:29     Написать программу которая складывает первую и последнюю цифру числа. #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main(void)
{
    int n, first, last;
    
    n = 12345;
    
    for (first = n; first / 10 > 0; first /= 10)
        ;
    last = n % 10;
    printf("%d\n", first + last);
    return 0;
}
Код
[guest@localhost tests]$ .ansi t.c -o t
[guest@localhost tests]$ ./t
6
[guest@localhost tests]$
pincet
1237 / 807 / 85
Регистрация: 23.07.2010
Сообщений: 4,126
07.11.2011, 13:31     Написать программу которая складывает первую и последнюю цифру числа. #3
Собсно так:
получаешь остаток от деления на 10 - это последняя цифра
делишь на 10, пока число >10 - получаешь первую
.....
profit
vadosik
6 / 6 / 0
Регистрация: 18.04.2011
Сообщений: 63
07.11.2011, 14:14  [ТС]     Написать программу которая складывает первую и последнюю цифру числа. #4
Цитата Сообщение от accept Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main(void)
{
    int n, first, last;
    
    n = 12345;
    
    for (first = n; first / 10 > 0; first /= 10)
        ;
    last = n % 10;
    printf("%d\n", first + last);
    return 0;
}
Код
[guest@localhost tests]$ .ansi t.c -o t
[guest@localhost tests]$ ./t
6
[guest@localhost tests]$
СПАСИБО!

Добавлено через 1 минуту
А ещё что дописать чтоб менять первую и последнюю цифру местами??

Добавлено через 12 минут
А ещё что дописать чтоб менять первую и последнюю цифру местами?? и при этом выводил всё число целиком с поменяными цифрами
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.11.2011, 14:19     Написать программу которая складывает первую и последнюю цифру числа. #5
нужно в цикл добавить подсчёт цифр в числе
потом последнюю цифру умножить на десять число_цифр - 1 раз
прибавить к полученному числу n / 10
поделить полученное число на десять, умножить на десять
прибавить к полученному числу первую цифру
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 14:24     Написать программу которая складывает первую и последнюю цифру числа. #6
Реализация:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <math.h>
 
int main()
{
    int n, first, last, nd;
 
    while (printf("enter n (0 to exit): ") && scanf("%d", &n) && n) {
        for (first = n, nd = 1; first / 10 != 0; first /= 10)
            nd++;
        last = n % 10;
        n -= first * (int) pow(10, nd-1);
        n -= last;
        last *= (int) pow(10, nd-1);
        n += first + last;
        printf("%d\n", n);
    }
    return 0;
}
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.11.2011, 16:02     Написать программу которая складывает первую и последнюю цифру числа. #7
printf() может вернуть отрицательное значение, которой является истиной
scanf() может вернуть отрицательное значение, которой является истиной
в случае ошибки цикл не должен продолжаться

C
1
while (printf("enter n (0 to exit):\n") > 0 && scanf("%d", &n) == 1 && n > 0) {
без символа конца строки, при построчной буферизации потока вывода, сообщение из printf() останется в буфере, если тот не заполнен (не выведется на экран в то время, когда ожидается)

C
1
2
3
    while (printf("enter n (0 to exit):\n") > 0
        && scanf("%d", &n) == 1
        && n > 0) {
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 16:43     Написать программу которая складывает первую и последнюю цифру числа. #8
C
1
        && n != 0) {
отрицательные числа тоже обрабатываются
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.11.2011, 16:47     Написать программу которая складывает первую и последнюю цифру числа. #9
не, число нужно сделать положительным перед обработкой
операция деления с остатком не определена
и обычное деление, вроде, тоже
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 16:47     Написать программу которая складывает первую и последнюю цифру числа. #10
Цитата Сообщение от accept Посмотреть сообщение
без символа конца строки, при построчной буферизации потока вывода, сообщение из printf() останется в буфере, если тот не заполнен
У меня все выводится правильно, от чего это зависит?
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.11.2011, 16:49     Написать программу которая складывает первую и последнюю цифру числа. #11
C89(draft) 3.3.5 Multiplicative operators
Код
   When integers are divided and the division is inexact, if both
operands are positive the result of the / operator is the largest
integer less than the algebraic quotient and the result of the %
operator is positive.  If either operand is negative, whether the
result of the / operator is the largest integer less than the
algebraic quotient or the smallest integer greater than the algebraic
quotient is implementation-defined, as is the sign of the result of
the % operator.  If the quotient a/b is representable, the expression
(a/b)*b + a%b shall equal a .
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 16:53     Написать программу которая складывает первую и последнюю цифру числа. #12
accept, нет, я имел в виду, что без '\n' в строке, у меня все выводится правильно.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.11.2011, 16:55     Написать программу которая складывает первую и последнюю цифру числа. #13
то есть при простом делении, если хотя бы один операнд отрицательный, то при результате 0.5, может произойти округление до нуля или единицы

Цитата Сообщение от Net_Wanderer
accept, нет, я имел ввиду, что без '\n' в строке, у меня все выводится правильно.
это зависит от реализации, оно может быть выведено в самом конце программы, причём все сразу
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 16:59     Написать программу которая складывает первую и последнюю цифру числа. #14
Цитата Сообщение от accept Посмотреть сообщение
операция деления с остатком не определена
и обычное деление, вроде, тоже
это, да, вспомнил что в K&R про это тоже написано
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2011, 17:30     Написать программу которая складывает первую и последнюю цифру числа.
Еще ссылки по теме:

Программа которая складывает 2 числа.Числа вбиты в программу заранее. Не получается. Плохо знаю этот язык - C++
Помогите пожалуйста(((

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

Поменять первую и последнюю цифру в трёхзначном числе - C++
В функции задано трёхзначное число, поменять 1 и последнюю цифру в трёхзначном числе? Я не пойму как.

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

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


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

Или воспользуйтесь поиском по форуму:
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
07.11.2011, 17:30     Написать программу которая складывает первую и последнюю цифру числа. #15
Цитата Сообщение от vadosik Посмотреть сообщение
А ещё что дописать чтоб менять первую и последнюю цифру местами?? и при этом выводил всё число целиком с поменяными цифрами
На плюсах:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int swap_first_and_last_digits( int x )
{
    std::string str = boost::lexical_cast< std::string > (x);
    std::swap( str[ str.at(0) == '-' ], str.at( str.size() - 1 ) );
    return boost::lexical_cast< int > (str);
}
 
int main()
{
    int n = -12345;
    std::cout << swap_first_and_last_digits(n);
}
Результат: http://liveworkspace.org/code/50439b...e05af8e7221436
Yandex
Объявления
07.11.2011, 17:30     Написать программу которая складывает первую и последнюю цифру числа.
Ответ Создать тему
Опции темы

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