自然语言解决思路:先将A同学固定再将B同学固定,循环C同学可能拿得到的书的编号,再将A同学固定,循环B同学与C同学得书编号,最后循环三位同学的编号。由于书只能被同一学生借走,因此abc不能相等。满足此条件时进行i++,以便得到符合条件的总数。
流程图
代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,i=0;
printf("A,B,C三人所选的书号分别为:\n");
for(a=1;a<=5;a++)
for(b=1;b<=5;b++)
for(c=1;c<=5;c++)
if(a!=b&&a!=c&&b!=c)
{printf("A:%2d B:%2d C:%2d ",a,b,c);
i++;
if(i%4==0)
printf("\n");}
printf("共有%d种有效借阅方法\n",i);
return 0;
}
总结:虽然有较为简单的方法,但自认为差别不大且此方法更好理解。
标签:同学,方案,int,编号,知多少,2d,&&,printf,借书 From: https://www.cnblogs.com/Mini-Q/p/17310332.html