c语言一个输出无重复三位数的代码

img


可以用数组对吧?
如果不用数组的话,应该怎么做呢?
求一个尽量简洁算法


#include<stdio.h>
int main()
{
    int i,j,k;
    int huan_hang=0;    //控制空格和换行
    int t,n;
    scanf("%d",&t);
    n=t;
    for(i=n;i<=n+3;i++)
    {
        for(j=n;j<=n+3;j++)
        {
            if(i!=j)
            {
                for(k=n;k<=n+3;k++)
                {
                    if(j!=k&&i!=k)
                    {
                        huan_hang++;    //控制空格和换行
                        if(huan_hang<=5)
                            printf("%d%d%d ",i,j,k);
                        else
                            printf("%d%d%d",i,j,k);
                        if(huan_hang%6==0)
                        {
                            printf("\n");
                            huan_hang=0;
                        }
                    }
                }
            }
        }
    }
    return 0;
}