Как сдвоить цифры в номере - PullRequest
0 голосов
/ 24 марта 2019

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

Например, выходной номер: 12345 будет 1122334455 с использованием функций и циклов.

#include <stdio.h>
int main() {
int num;
printf("Please Enter a number");
scanf("%d",&num);
for(int i=0;i<=num%10;i++) {
       if(i==num%10)
             newNum+=i;
for(int i=1;i<=num%10;i++) {
       if(i==num/10%10)
             newNum+=i;

1 Ответ

1 голос
/ 24 марта 2019

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

Ваш цикл for не имеет смысла.Вы должны зацикливаться, пока все интергеры не будут дублированы.Для этого определите место с модом 10, затем разделите число на 10. Оно будет повторяться до нуля. Попробуйте это.

#include <stdio.h>

int main(void) {

    int number;
    int temp;

    printf("Enter an integer: ");
    scanf("%d", &number);

    while(number) {
        temp = number % 10;
        printf("%d%d", temp, temp);
        number /= 10;
    }
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...