这个题非常简单但是非常的坑,有多坑呢?只差一个break,我估计这就是很多人过不了这个题的原因
上代码:
#include <stdio.h>
int main()
{
int n,i,yu,j;
scanf("%d", &n);
for(i=1,j = 1;j<=n;j++)/*j控制循环,i用于计算*/
{
i = j;
if (i % 3 == 0)
{
while(i != 0) /*判断数位是否有5*/
{
yu = i % 10;
i = i /10;
if(yu == 5)
{
printf("%d\n", j);
/*这里如果没有break,很快能会重复打印出数位有多个5的数字,引起报错*/
}
}
}
}
return 0;
}
京公网安备 11010502036488号