#include <stdio.h>
int main()
{
int x;
int n = 1;
scanf("%d", &x);
if (x>999)
{
n = 4;
}else if (x>99)
{
n = 3;
}else if (x>9)
{
n = 2;
}
printf("%d", n);
}
该段代码解决的问题是,在输入数字于四位数及以下范围区间内时,判断该数字的位数。
其是由高处向下判断的。即关键词if
后的条件就将数字的范围限定在[1000,9999]
中,而else if
后的条件则将数字的范围限定在[100,999]
中,以此类推。
也就是说在从高处向下判断条件时,每一步已经隐含地设定了上限了,所以不需要判断上限了。