C算法-求组合排列可能性

来源:互联网 发布:乐视视频网络不可用 编辑:程序博客网 时间:2024/05/21 19:05

1.题目及程序

////  main.c//  execrise1////  Created by GRL on 15/9/14.//  Copyright (c) 2015年 mm. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) {    /**     1. 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。)---24个     **/    int numbers[10000];//存放可能的数字,最后会去掉相同的数字    int index=0;    int a[4]={1,2,3,4};//百位    int b[4]={1,2,3,4};//十位    int c[4]={1,2,3,4};//个位//    产生个,十,百位数字不同的数    for (int i=0; i<4; i++) {        for (int j=0; j<4; j++) {            for (int r=0; r<4; r++) {                if (i!=j && j!=r && i!=r) {                    numbers[index]=a[i]*100+b[j]*10+c[r];                    printf("numbers[%d]=%d\n",index,numbers[index]);                    index++;                }            }        }    }    return 0;}

2.运行:

这里写图片描述

0 0
原创粉丝点击