Wyciągnięcie ostatniej lub przedostatniej cyfry z ciągu znaków

0

Witam
Potrzebuje pomocy w wyciągnięciu powiedzmy ostatniej lub przed ostatniej danej (cyfry) z ciagu liczb powiedzmy: 48758686.
Nie wiem jak to zrobić ktoś pomoże?

0
grom86 napisał(a):

Witam
Potrzebuje pomocy w wyciągnięciu powiedzmy ostatniej lub przed ostatniej danej (cyfry) z ciagu liczb powiedzmy: 48758686.
Nie wiem jak to zrobić ktoś pomoże?

Możesz użyć funkcji to_string i operować na stringu a póżniej użyć funkcji atoi

4

Ostatnia cyfra liczby, powiedzmy, n, to:
n % 10,
a przedostatnia (o ile liczba jest co najmniej dwucyfrowa, ale to łatwo sprawdzić: n / 10 > 0, gdzie / - dzielenie w integerach) to:
(n / 10) % 10.
I tak dalej, w sumie; oczywiście, zakładając, że to co Określiłeś, jako "ciąg liczb" to po prostu liczba, int. Jeśli to string, to inna bajka, ale pytanie wtedy trochę bez sensu, bo byłoby:
Jak znaleźć ostatni lub przedostatni znak w ciągu.

0

pomogło bardzo.
wypisuje ostatnią i przed.
dokładnie n int
A powiedz następna z kolei
powiedzmy 503542674
podaj proszę dla kilku kolejnych pozwoli mi to dokładniej zrozumieć z góry ci dziękuje

0

Użyj pętli i wykonaj tyle cykli, żeby wyświetlić wartość z żądanej pozycji.

#include <stdio.h>

int main(void)
{
    int n = 1234567;
    int answer = 0;
    int i, m;
    for (i = 0, m = n; m > 0 && i < 3; m /= 10, ++i) {
        answer = m % 10;
    }
    printf("%d", answer);
    return 0;
}
4

Trzecia od końca [cyfra liczby n]:
(n / 100) % 10
Czwarta:
(n / 1000) % 10.
Widać już wzór, można napisać funkcję, zwracającą k - tą cyfrę od końca liczby n:

fun digits_from_end(n, k):
    return (n / 10^(k-1)) % 10;

1 użytkowników online, w tym zalogowanych: 0, gości: 1