【问题描述】在 1 至 2020 中,有多少个数的数位中包含数字 9?
注意,有的数中的数位中包含多个 9,这个数只算一次。
例如,1999 这个数包含数字 9,在计算只是算一个数。
编程求解。
我的错误代码如下
#include <stdio.h>
int main()
{
int i = 1, y = 0, z = 0;
for (i = 1; i <= 2020; i++)
{
while (i)
{
if (9 == i % 10)
{
y++;
}
i /= 10;
}
if (y >= 1)
{
z++;
}
}
printf("包含9的数有%d个", z);
return 0;
}