C/C++
Как разбить число на цифры си
Есть число x = 145 нужно розбить на цифры 1; 4; 5; Подскажите как сделать
// Visual Studio 2019
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define BUFFER 0xFF
void swap(char* a, char* b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
int main() {
int number;
printf("number: ");
scanf_s("%i", &number);
if (number) {
char str[BUFFER] = { 0 };
int length;
int i = 0, j;
do {
str[i] = number % 10 + 48;
++i;
} while (number /= 10);
length = strlen(str);
j = length - 1;
for (i = 0; i < j; ++i, --j) swap(&str[i], &str[j]);
printf("digits: ");
for (i = 0; i < length; ++i) printf("%c ", str[i]);
puts("");
}
else puts("0");
system("pause > nul");
return 0;
}
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define BUFFER 0xFF
void swap(char* a, char* b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
int main() {
int number;
printf("number: ");
scanf_s("%i", &number);
if (number) {
char str[BUFFER] = { 0 };
int length;
int i = 0, j;
do {
str[i] = number % 10 + 48;
++i;
} while (number /= 10);
length = strlen(str);
j = length - 1;
for (i = 0; i < j; ++i, --j) swap(&str[i], &str[j]);
printf("digits: ");
for (i = 0; i < length; ++i) printf("%c ", str[i]);
puts("");
}
else puts("0");
system("pause > nul");
return 0;
}
#include "stdio.h"
int main(){
long k,s=0,n=0; scanf("%d",&k);
do{s=10*s+k%10; k/=10; n++;}while(k);
do{printf("%d\n",s%10); s/=10; n--;}while(n);}
int main(){
long k,s=0,n=0; scanf("%d",&k);
do{s=10*s+k%10; k/=10; n++;}while(k);
do{printf("%d\n",s%10); s/=10; n--;}while(n);}
#include <stdio.h>
int main() { unsigned long long N;
int digits[20], i, n = 0; printf("N = ");
scanf("%llu", &N); if (N) { while (N)
{ digits[n] = N % 10; N /= 10; n++; }
for (i = n - 1; i >= 0; i--) printf("%d ", digits[i]);
printf("\n"); } else printf("%llu\n", N); }

int main() { unsigned long long N;
int digits[20], i, n = 0; printf("N = ");
scanf("%llu", &N); if (N) { while (N)
{ digits[n] = N % 10; N /= 10; n++; }
for (i = n - 1; i >= 0; i--) printf("%d ", digits[i]);
printf("\n"); } else printf("%llu\n", N); }

#include<stdio.h>
#include<string.h>
int main()
{
int n=0;
char digits[25]={0},*pd=digits;
printf("Enter number: ");
scanf("%d",&n);
while(n!=0)
{
sprintf(pd++,"%d",n%10);
n/=10;
}
printf("\nResult text: ");
for(int i = strlen(digits)-1; i >=0; i--)
printf(" %c;", digits[i]);
system("pause");
return 0;
}

#include<string.h>
int main()
{
int n=0;
char digits[25]={0},*pd=digits;
printf("Enter number: ");
scanf("%d",&n);
while(n!=0)
{
sprintf(pd++,"%d",n%10);
n/=10;
}
printf("\nResult text: ");
for(int i = strlen(digits)-1; i >=0; i--)
printf(" %c;", digits[i]);
system("pause");
return 0;
}

Вам нужно находить частное и остаток от деления на 10
Эм, а где это может применяться?
Похожие вопросы
- Решить задачи на С++ по обработке цифр числа:
- Найти сумму цифр чисел, записанных в файл
- Помогите добавить ввод чисел в массив матрицы на языке Си
- Определить k-ю цифру последовательности 182764125216343 … , в которой выписаны подряд кубы натуральных чисел.
- В языке С.Необходимо определить количество целых чисел из ряда от 1 до 100, которые содержат цифры 3.
- Си. Цикл for. Что не так? Составить программу вывода на экран всех простых чисел не превосходящих введеннного числа N
- Можно ли через функцию memset записать число в элемент массива больше чем 255? (Си)
- Что за число хранится в имени функции? (Си)
- Помогите пожалуйста написать программу, реализующую десять генераторов псевдослучайных чисел.СИ!!!!
- Код работает некорректно. Язык Си. Нахождение максимального отрицательного элемента матрицы и замена его числом.