【问题描述】
在1至2019中,有多少个数的数位中包含数字9?
注意,有的数中的数位中包含多个9,这个数只算一次。例如,1999这个数包含数字9,在计算只是算一个数。
【输入】
没有输入。
【输出】
输出一个整数。
【提示】
把答案放在输出语句中输出,例如C/C++语言可以用printf或cout。
注意:需要输出的是一个整数,不要输出任何多余内容。
思路
依次判断每个数中是否含有9即可。主要是将每个数字的每一位分解出来,判断是否等于9。
代码:
#include <stdio.h>
int f(int n)
{
int i;
while(n)
{
i=n%10;
n/=10;
if(i==9)
{
return 0;
}
}
return 1;
}
int main ()
{
int i;
int num = 0;
for(i=1;i<=2019;i++)
{
if(f(i)==0)
num++;
}
printf("%d",num);
return 0;
}