C语言

C 语言经典100例 其一

2019-01-23  本文已影响0人  老衲呢

转载出处:C 语言经典100例 其一

题目

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?各是多少?

编程没有捷径。Talk is cheap. Show me the code

程序分析

前提:可填在百位、十位、个位的数字都是1、2、3、4。

 1. 组成所有的排列
 2. 剔除不满足条件的排列
 3. 统计数量
 
 PS:建议先自行思考后再继续往后看。

代码实现

代码已经上传到Github:传送门

#include <stdio.h>
/**
 * @description: 
 * @author: HuaiAngg
 * @create: 2019-01-23 10:31
 */
int main(void)
{
    int i, j, k, amount = 0;
    printf("---------------------------------------\n");
    // 以下为三重循环
    for( i=1; i<5; i++) {
        for( j=1; j<5; j++) {
            for( k=1; k<5; k++) { 
                // 确保i、j、k三位互不相同
                if ( i!=k && i!=j && j!=k) { 
                    printf("%d,%d,%d\n", i, j, k);
                    // 计数器自增 
                    amount ++;
                }
            }
        }
    }
    // 输出个数 
    printf("共有 %d 个组合\n", amount);
    printf("---------------------------------------\n");
    return 0;
}

说明

题目来源于网络素材,笔者只负责整理。
如有侵权请联系笔者删除!

觉得还不错,麻烦赏个红心👍

上一篇 下一篇

猜你喜欢

热点阅读