C语言经典算法100例001

来源:互联网 发布:网络印刷平台20强 编辑:程序博客网 时间:2024/06/04 18:43

/*
  Name: C语言经典算法100例001
  Copyright: *
  Author: 巧若拙
  Date: 24-08-14 14:31
  Description:
  题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 
*/


#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>

#define MAX 4

void fun1(void);
void fun2(void);

int main(void)
{
 fun1();
 fun2();
 
 system("pause");
    return 0;
}

void fun1(void)
{
    int lib[MAX] = {1,2,3,4};
 int i, j, k;
 int count = 0;
 
 for (i=0; i<MAX; i++)
 {
        for (j=0; j<MAX; j++)
        {
            if (j != i)
            {
                for (k=0; k<MAX; k++)
                {
                    if (k != i && k != j)
                    {
                        printf("%d %d %d\t", lib[i], lib[j], lib[k]);
                        count++;
                    }
                }
            }
        }
    }
   
    printf("\n总共有 %d 组数字\n", count);
}

void fun2(void)
{
 int i, j, k;
 int count = 0;
 
 for (i=1; i<=MAX; i++)
 {
        for (j=1; j<=MAX; j++)
        {
            for (k=1; k<=MAX; k++)
            {
                if (j != i && k != i && k != j)
                {
                    printf("%d %d %d\t", i, j, k);
                    count++;
                }
            }
        }
    }
   
    printf("\n总共有 %d 组数字\n", count);
}

0 0
原创粉丝点击