借书方案

借书方案

问题描述:

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

设计思路:

采用穷举循环来实现,即从每个人可选书号(1、2、3、4、5)的范围内进行穷举,从而得到可行的结果。对第1个人的选择,我们可以用循环将其列出: for(a=1;a<=5;a++),同理对于第2个人、第3个人可以用同样的方法。由于一本书只能借给一个人,所以第2个人的选择会受到第1个人的限制,所以可采用循环的嵌套来解决问题。
利用循环解决问题的时候,找到循环的三要素:循环变量的初值、循环的控制条件,以及使循环趋于结束的循环变量值的改变是进行编程的关键。3个人所选书号各不相同。在输出语句前用一个if语句if(a!=b&&a!=c&&c!=b)判断。

源代码如下


 
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int a,b,c;
    int count = 0;
    printf("共有以下借法:\n");
    for(a = 1;a <= 5;a++)         //a,b,c,分别从一号书借到五号书
    {
        for(b = 1;b <= 5;b++)
        {
            for(c = 1;c <= 5;c++)
            {
                if(0 != (a - b) * (b - c) * (c - a))
                {
                    count++;
                    printf("%d: %d %d %d\t",count,a,b,c);
                    if(0 == count % 3)
                    {
                        printf("\n");
                    }
                }
            }
        }
    }
    return 0;
}

结果如下:

posted @ 2023-04-11 20:06  笠大  阅读(19)  评论(0编辑  收藏  举报