Как вывести первую цифру числа в c
Перейти к содержимому

Как вывести первую цифру числа в c

  • автор:

Анализ алгоритма

Если число отрицательное, то поменяем его знак, сделав его положительным – от этого первая цифра не изменится. Делим число на 10 до тех пор, пока не останется в нем одна цифра – это и будет первая цифра исходного числа.

Читаем целое число n.

Если число отрицательное, то сделаем его положительным.

Делим число на 10, пока оно не будет содержать только первую цифру.

Выводим первую цифру числа.

Java р еализация

import java.util.*;

public class Main

public static void main(String[] args )

Scanner con = new Scanner(System. in );

long n = con .nextLong();

while ( n > 9)

System. out .println( n );

Первая цифра числа

Найти первую цифру целого числа. Отсчёт начинать с наивысшего разряда.

Входные данные

Одно целое 64-х разрядное число, содержащее не менее одной цифры. Число может быть отрицательным.

Выходные данные

Выведите первую цифру заданного числа.

Алгоритм решения задачи

  • Удаляем из числа последнюю цифру пока оно больше или равно 10;

Решение

using System; class Program < static void Main(string[] args) < var n = Math.Abs(Convert.ToInt64(Console.ReadLine())); while (n >= 10) < n /= 10; > Console.WriteLine(n); > > 

Подскажите как найти первую (последнюю) цифру числа (с++)

число целое, не указано это двух цифровое, трех цифровое или пяти цифровое.. . так что деление и остатки не прокатят.

Дополнен 11 лет назад
Вадим, мне потом их суммировать нужно, не прокатит
Лучший ответ
прокатит и деление и остатки: http://ideone.com/Nd7wMc
Остальные ответы
Преобразуйте в char* возьмите первый и последний байт, преобразуйте обратно в цифры.

1. Преобразовать число в строку (IntToStr)
2. Узнать количество символов в строке (length)
3. Взять первый и последний символ (str[])
4. Преобразовать обратно в число (StrToInt)

Источник: [ссылка появится после проверки модератором]

число % 10 вернёт остаток от деления на десять. конкретно — последняя цифра.
а первую цифру — в цикле ищи.
число >=10. число = (int) число/10;
в результате в числе будет только старший разряд числа

int funct(int number)
<
int digit1,digit2;
digit1=number (знак процента) 10;
if(number>=10)
number=number/10
digit2=number;
return digit1+digit2;
>
ёбанный движёк мэйла

Сумма первой и последней цифр числа

Найти сумму первой и последней цифр любого целого положительного числа.

Извлечь последнюю цифру числа легко: достаточно найти остаток от деления на 10. В языке Паскаль это делается с помощью оператора mod .

Чтобы извлечь первую цифру числа, надо знать его разрядность, после чего найти остаток от деления 10 в степени «разряд минус 1». Так, если число трехзначное, то надо делить на 100, то есть 10 2 . Однако программа разрядности числа не знает.

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

var n: longint; a, b: byte; begin readln(n); a := n mod 10; // последняя цифра исходного числа n := n div 10; // удаляем ее из числа while n > 0 do begin b := n mod 10; // текущая последняя цифра n := n div 10; end; writeln(a + b); end.

В коде выше в переменную a записывается последняя цифра. После чего число делится нацело на 10 и эта цифра исключается. Далее в цикле постепенно число сокращается на один разряд с помощью div . Перед этим удаляемая цифра присваивается переменной b . Когда все цифры числа будут удалены, то в переменной b останется первая. После цикла значение переменных складывается.

Более компактное решение:

var a: longint; b: byte; begin readln(a); b := a mod 10; while a >= 10 do a := a div 10; writeln(b+a); end.

Здесь число a в цикле постепенно сокращается до одного первого разряда. Перед этим самый младший разряд, то есть последняя цифра числа сохраняется в переменной b .

Решить задачу можно не только с помощью цикла while , но и repeat :

var a, b, c, d: integer; begin readln(a); d := a mod 10; repeat b := a mod 10; a := a div 10; until a = 0; c := d + b; writeln(c); end.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *