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

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

07.11.2011, 13:08. Показов 7583. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru