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

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

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

Студворк — интернет-сервис помощи студентам
Всего цифр с числе может быть до 5 (тип числа int). Собсно как?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.11.2011, 13:08
Ответы с готовыми решениями:

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

Написать программу, которая по одной из цифр 0,1,2,3, 4,5,6,7,8,9 – послед-ней цифре числа N - находит последнюю цифру квадрата этого числа
Чтобы определить на какую цифру оканчивается квадрат целого числа, достаточно знать последнюю цифру самого числа. Написать программу,...

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

14
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2011, 13:29
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;
}
Code
1
2
3
4
[guest@localhost tests]$ .ansi t.c -o t
[guest@localhost tests]$ ./t
6
[guest@localhost tests]$
1
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
07.11.2011, 13:31
Собсно так:
получаешь остаток от деления на 10 - это последняя цифра
делишь на 10, пока число >10 - получаешь первую
.....
profit
1
6 / 6 / 0
Регистрация: 18.04.2011
Сообщений: 63
07.11.2011, 14:14  [ТС]
Цитата Сообщение от 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;
}
Code
1
2
3
4
[guest@localhost tests]$ .ansi t.c -o t
[guest@localhost tests]$ ./t
6
[guest@localhost tests]$
СПАСИБО!

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

Добавлено через 12 минут
А ещё что дописать чтоб менять первую и последнюю цифру местами?? и при этом выводил всё число целиком с поменяными цифрами
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2011, 14:19
нужно в цикл добавить подсчёт цифр в числе
потом последнюю цифру умножить на десять число_цифр - 1 раз
прибавить к полученному числу n / 10
поделить полученное число на десять, умножить на десять
прибавить к полученному числу первую цифру
1
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 14:24
Реализация:
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;
}
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2011, 16:02
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) {
1
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 16:43
C
1
        && n != 0) {
отрицательные числа тоже обрабатываются
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2011, 16:47
не, число нужно сделать положительным перед обработкой
операция деления с остатком не определена
и обычное деление, вроде, тоже
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 16:47
Цитата Сообщение от accept Посмотреть сообщение
без символа конца строки, при построчной буферизации потока вывода, сообщение из printf() останется в буфере, если тот не заполнен
У меня все выводится правильно, от чего это зависит?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2011, 16:49
C89(draft) 3.3.5 Multiplicative operators
Code
1
2
3
4
5
6
7
8
9
   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 .
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 16:53
accept, нет, я имел в виду, что без '\n' в строке, у меня все выводится правильно.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2011, 16:55
то есть при простом делении, если хотя бы один операнд отрицательный, то при результате 0.5, может произойти округление до нуля или единицы

Цитата Сообщение от Net_Wanderer
accept, нет, я имел ввиду, что без '\n' в строке, у меня все выводится правильно.
это зависит от реализации, оно может быть выведено в самом конце программы, причём все сразу
1
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
07.11.2011, 16:59
Цитата Сообщение от accept Посмотреть сообщение
операция деления с остатком не определена
и обычное деление, вроде, тоже
это, да, вспомнил что в K&R про это тоже написано
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
07.11.2011, 17:30
Цитата Сообщение от 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/... f8e7221436
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.11.2011, 17:30
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru