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



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

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

我也只能使用stdio.h库。

输出示例:

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

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

for(int i = 0; i < 100 ; i++){
putchar((i/10)+'0');
putchar((i%10)+'0');
printf("n");
}

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

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

最新更新