写一个函数,输出前N个数(从7开始),这N个数满足如下3个条件中的任意一个
1.整出7
2.各位上的数字之和整除7,(比如34)
3.任意位上包含数字7
附我的代码:
void printN(int n)
{
    
    int c=0;
    int i=7;
    do 
    {
        if(i%7 ==0)
        {
            printf("%d\n",i);
            c++;
        }
        else
        {
            int j=i%10;
            int k=j;
            int s=k;
            int p=10;
            while(k<i)
            {
                if(j==7)
                {
                    printf("%d\n",i);
                    s=0;
                    c++;
                    break;
                }
                else
                {
                    j=((i-k)/p)%10;
                    s+=j;
                    k=j*p+k;
                    p*=10;
                }
            }
            if(s&&s%7==0)
            {
                printf("%d\n",i);
                c++;
            }
            
        }
        i++;
    } while (c<n);
}