仅使用一个整数和 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");
}
我必须打印出 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");
}