仅使用一个整数和 putchar 打印出 2 位数字

Print out 2 digit numbers using only one integer and putchar

我必须打印出 2 位数字 (00, 01, 02, 03,... ,10, 11,..99) 即来自 00 to 99 仅使用 一个整数和函数putchar()

ASCII table 中,这些是从 0x30 (0) 到 0x39(9) 的符号。

此外,我可能只使用 stdio.h 库。

输出示例:

00  
01  
02  
03  
...(all the way to 99)
99  

您建议采用哪种操作来实现这一目标?
我已经制定了可行的解决方案,但我不得不使用两个整数(一个来自 2 位数的第一部分,另一个用于第二部分)。但这是不允许的。

这应该有效。而且您只定义了一个整数。

void foo()
{
    int a = 0;
    while(a <= 99)
    {
        if(a < 10)
        {
            putchar((char)i/10 + '0');
            putchar((char)a%10 + '0');
            putchar('\n');
        }
        a++;
    }
}
for(int i = 0; i < 100 ; i++){

    putchar((i/10)+'0');
    putchar((i%10)+'0');
    printf("\n");
}