【发布时间】:2014-09-18 06:44:13
【问题描述】:
如何使用单个 while 循环来限制在代码中输入负整数。我之前尝试过为两个 scanf() 分别使用两个 while 循环,并且效果很好。但我无法弄清楚我们如何将它们组合成一个 while 循环。我已经删除了我最初使用的两个 while 循环。我对此完全陌生,我需要一些想法。
#include <stdio.h>
int main()
{
int num, uplimit, a;
printf("Which multiplication table do you want? ");
scanf("%d",&num);
printf("Please enter the upper limit: ");
scanf("%d",&uplimit);
printf("\nMultiplication Table for %d\n", num);
printf("===========================\n\n");
for(a=1;a<=uplimit;++a)
{
printf( "%d X %d = %d %s\n", a, num, num*a, (num*a % 2 == 0) ? "*" : " " );
}
{
printf("\n* indicates even multiple of %d", num);
}
return 0;
}
【问题讨论】:
-
如果您阅读例如this
scanf(and family) reference 您将看到格式代码表。我相信您可以找到一种适合读取非负整数的格式。 -
@JoachimPileborg:你的意思是 %u 和 %x?他们确实接受负面输入。例如,输入 -1 将给出
UINT_MAX,不会显示错误。
标签: c