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

时间:2018-05-03 12:49:07

标签: c stdio putchar

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

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

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

输出示例:

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

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

2 个答案:

答案 0 :(得分:2)

for(int i = 0; i < 100 ; i++){

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

答案 1 :(得分:0)

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

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