c++输出小于1000能被11整除,且各位数字之和为13的数,要求每行五个

c++编程:输出小于1000能被11整除,且各位数字之和为13的数,要求每行五个

#include<iostream>
using namespace std;
int f1(int n)
{
    if(n%11==0)return 1;
    return 0;
}
int f2(int n)
{
    int t=n,s=0;
    while(t!=0)
    {
        s+=t%10;
        t/=10;
    }
    if(s==13)return 1;
    return 0;
}
void show(int n=0)      //给函数赋了初始值
{
    int count=0;        //count为计数器
    for(;n<1000;n++){
        if(f1(n)&&f2(n))
        {
            cout<<n<<'\t';
            count++;
            if(count%5==0)    //按每行5个输出
            cout<<'\n';
        }
    }cout<<"\n共有"<<count<<"个数满足条件。"<<endl;
}
int main()
{
    int n;
    cout<<"小于1000的自然数,能被11整除且各位数字之和为13的数有:\n";
    show(n);
    return 0;
}

循环把整数每一位取出求和啊

/*c++输出小于1000能被11整除,且各位数字之和为13的数,要求每行五个*/
#include <iostream>
using namespace std;
int main()
{
    int count = 0;
    for(int i=1;i<1000;i++)
    {
        if(i%11 != 0)
            continue;
        int sum = 0;
        int t = i;
        while(t>0)
        {    
              sum += t%10;
              t = t/10;
        }
        if(sum == 13)
        {
              count++;
              cout<<i<<" ";
              if(count%5==0)
                  cout<<endl;
        }
    }
    return 0;
}