C语言经典100题之循环嵌套

QLkeep / 2023-08-24 / 原文

1,有 1234 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

思路分析:首先来分析这道题目,三位数,无非就是i,j,k的三种不同组合,互不相同翻译成C语言就是i!=j, i!=k,j!=k。无重复我们可以使用枚举法枚举所有的三位数,然后判断是否满足互不相同的条件即可,利用三重循环,从百位,十位以及个位开始列举。

代码:

# include "stdio.h"

int main()
{ 
    int i,j,k, count = 0;

    for(i=1;i<=4;i++)
    {
        for(j=1;j<=4;j++)
        {
            for(k=1;k<=4;k++)
            {
                if(i!=j && i!=k && k!=j)
                {
                    printf("%d%d%d\n",i,j,k);
                    count++;
                }
            }
        }
    }

    printf("一共有%d个满足条件的三位数",count);

    return 0;
}