借书方案知多少
一、问题描述:
小明有五本新书,要借给A、B、C三位小朋友,若没人每次只能借一本,则可以有多少种不同的借法?
二、设计思路:
1、首先定义a,b,c三种变量来表示三个人借书的编号。
2、每个小朋友所借的书只有五种编号,所以可先利用循环语句进行穷举来找到每个小朋友所接到书的编号。
3、因为书的编号不能相同,第二个人的选择会受到第一个人的限制,最后一个人的选择会受到前两个人的限制,所以要对循环进行一定的限制,即在输出语句前加入if语句if(a!=b&&b!=c&&a!=c)即可。
4、最后得出借阅方法数,输出即可
三、程序流程图:
四、代码实现:
#include<stdio.h> int main() { int a,b,c,i=0;/*a,b,c分别用来记录三个人所选的新书编号,i用来控制有效的借阅次数/* printf("A,B,C三人所选书号分别为:\n"); for(a=1;a<=5;a++)/*用来控制A借阅图书编号/* for(b=1;b<=5;b++)/*用来控制B借阅图书编号/* for(c=1;c<=5;c++)/*用来控制C借阅图书编号/* if(a!=b&&b!=c&&a!=c) { printf("A:%2d,B:%2d,C:%2d",a,b,c); i++; if(i%4==0) printf("\n");/*每行最多输出四种借阅方法组合*/ } printf("共有%d种有效借阅方法\n",i);/*输出有效的借阅方法总数*/ }