ASCII математика в C - PullRequest
0 голосов
/ 07 мая 2018

В C я не могу просто использовать putchar (5);

Я должен сделать это так

#include <stdio.h>



    int main(){
        int c=5;




     putchar(c+'0');


    putchar('\n');


    return 0;

    }

вывод 5.

Но я не могу сделать это для двузначных чисел, таких как 10 или 25. У меня вопрос, можно ли распечатать 10, используя только putchar и putchar?

Я не могу так сделать

 int c=10;
 putchar(c+'0');

Вывод будет «:», поскольку «:» имеет значение ASCII 58.

1 Ответ

0 голосов
/ 07 мая 2018

Если это только цифры, вы можете попробовать следующую логику.

#include <stdio.h>
int main()
{
    int c = 465, n = 0, i = 1;

    while(c > 0){
        n *= (10 * i);
        n += (c % 10);
        c /= 10;
    }

    do {
        putchar((n % 10)+'0');
        n /= 10;
    } while(n > 0);

    putchar('\n');
    return 0;
}
...