《C语言及程序设计》实践参考——小明借书

返回:贺老师课程教学链接  项目要求


【项目1-小明借书】
小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?
提示:本问题实际上是一个排列问题,即求从5个中取3个进行排列的方法的总数。首先对五本书从1至5进行编号,然后使用穷举的方法。假设三个人分别借这五本书中的一本,当三个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。

[参考解答]
#include <stdio.h>
int main()
{
    int a,b,c,count=0;
    printf("小明借书给三位小朋友书的方案有:\n");
    for(a=1; a<=5; a++)			//穷举a借5本书中的1本的全部情况
        for(b=1; b<=5; b++)		//穷举b借5本书中的一本的全部情况
            for(c=1; c<=5; c++)	//穷举c借5本书中的1本的全部情况
                if(a!=b&&c!=a&&c!=b) //判断三个人借的书是否不同,(a-b)*(b-c)*(c-a)!=0更好
                {
                    ++count;
                    printf("%d: %d, %d, %d\n", count, a, b, c);//输出方案
                }
    return 0;
}



你可能感兴趣的:(《C语言及程序设计》实践参考——小明借书)