输入两个正整数(从小到大的顺序),输出这两数之间(含这两个数)各位数字之和为7的所有整数。

#没有思路,求解
#如何转换这串代码

c=a%10;        
    d=a/10%10;
    e=a/100%10;
    f=a/1000%10;
    g=a/10000%10;
    if(c+d+e+f+g==7)

刚好今天做过这道题,有用请采纳,谢谢!


int main()
{
    int a,b,c,d,e,f,g;
    cout<<"请按从小到大的顺序输入两个整数:"<<endl;
    cin>>a>>b;
    cout<<a<<"到"<<b<<"之间各位数字之和为7的数有:"<<endl;
    for(a;a<=b;a++)
    {
        // 每次都要重置e,是因为每一个数字的各位数字之和都需要从0开始
        e=0;
        for(int d=1;;d=d*10)
        {
            c=a/d%10;
            e+=c;
            // 如果c为0,那么代表已经到最高位了
            if(c==0)
            {
                // 如果此时e为7就打印
                if(e==7)
                {
                    cout<<a<<endl;
                }

                break;
            }
        }
    }
    return 0;
}