C语言 枚举练习
输出N以内含7(7,17,27) 和 7的倍数从小到大输出
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,n,tj,a,b;
scanf ("%d",&n);
for(i=1;i<=n;i++)
while (i<=n)
{
tj=0;
b=i;
do{
a=i%10;
b=b/10;
if(a7) tj=1;//用 a b 来判断是否含有7 若有7 则满足条件
}while(b!=0);
if (i%70)
tj=1;//观察是否为7的倍数 是则满足条件
if(tj==1) printf("%d ",i);
i++;
}
return 0;
}
菜鸟的个人思路:一开始想的是把含7 和 7的倍数分开判断 这样就不满足从小到大 而且77这类数还会输出两次, 后来还是用万精油for循环 且让“含有7”和“7的倍数”都满足 tj==1 这样只要满足的数字条件就可以输出 而且不会重复输出