小明有5本新书,要借给A、B、C三位小朋友 若每人每次只能借一本,则可以有多少种不同的借法?

 1 /*
 2     问题描述:
 3     小明有5本新书,要借给A、B、C三位小朋友,
 4     若每人每次只能借一本,则可以有多少种不同的借法?
 5 
 6     问题分析:
 7     本题属于数学当中最常见的排列组合问题,
 8     即求从5个数当中取3个不同数的排列组合的总数。
 9 
10     算法设计:
11     穷举法(枚举法)、三重循环
12     
13     循环三要素:
14     1)循环变量的初始化
15     2)循环的条件(以循环变量为基础)
16     3)循环变量的改变(向着循环的结束变)
17 */
18 #include "stdio.h"
19 
20 int main()
21 {
22     int count = 0;//计算个数
23     printf("A,B,C 三人所选书号分别为:\n");
24     for (int i = 1; i <= 5; i++)//控制A借阅图书的编号
25     {
26         for (int j = 1; j <= 5; j++)//控制B借阅图书的编号
27         {
28             for (int k = 1; k <= 5; k++)//控制C借阅图书的编号
29             {
30                 if (i!=j && i!=k && k!=j)
31                 {
32                     count++;//计成立的个数
33                     printf("A:%d B:%d C:%d\t",i,j,k);
34                     if (count % 4 == 0)//每一行4个编号
35                     {
36                         printf("\n");
37                     }
38                 }
39             }
40         }
41     }
42     printf("一共有%d种借法\n",count);
43 }

作者(小权权)

/*问题描述:小明有5本新书,要借给A、B、C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?
问题分析:本题属于数学当中最常见的排列组合问题,即求从5个数当中取3个不同数的排列组合的总数。
算法设计:穷举法(枚举法)、三重循环循环三要素:1)循环变量的初始化2)循环的条件(以循环变量为基础)3)循环变量的改变(向着循环的结束变)*/#include "stdio.h"
int main(){int count = 0;//计算个数printf("A,B,C 三人所选书号分别为:\n");for (int i = 1; i <= 5; i++)//控制A借阅图书的编号{for (int j = 1; j <= 5; j++)//控制B借阅图书的编号{for (int k = 1; k <= 5; k++)//控制C借阅图书的编号{if (i!=j && i!=k && k!=j){count++;//计成立的个数printf("A:%d B:%d C:%d\t",i,j,k);if (count % 4 == 0)//每一行4个编号{printf("\n");}}}}}printf("一共有%d种借法\n",count);}

posted @ 2020-02-23 14:54  HuangBingQuan  阅读(1398)  评论(0编辑  收藏  举报