题目:在1至2019中,有多少个数的数位中包括数字9?(其中含有多个9的数如1999,只算一个)
#include<stdio.h>
int main()
{
int sum=0;
for(int i=1;i<=2019;i++)
{
if(i%10==9) sum++;//如果个位有9,sum就加1;
else if(i/10%10==9) sum++;//否则十位有9,sum加1;
else if(i/100%10==9) sum++;//否则百位有9,sum加1;
//1-2019里的数没有千位带9的,所以不用再考虑千位了
}
printf("%d",sum);
return 0;
}
昨天写的时候死想我原本的那个方法,既复杂又麻烦。结果今天早上换了一种思路,一下就出来了,而且代码还简单易懂。
看来写代码的时候应该多换角度想。