问题描述
程序代码
#include <stdio.h>
#include <stdlib.h>
/*
*csdn学院--2017级
*目的:让代码见证成长(作为一个初学的菜鸟,如
*大家有发现错误,欢迎指正!)
*文件名称:Myfun86.c
*作者:小臣小仁
*完成日期:2017年1月8日
*/
int main()
{
int a,b,c,i=0;
for(a=1;a<=5;a++)
{
for(b=1;b<=5;b++)
{
for(c=1;c<=5;c++)
{
if(b==a||c==b||c==a)
continue;
else
{
i++;
printf("%d%d%d ",a,b,c);
if(i%8==0)
printf("\n");
}
}
}
}
printf("共有%d种借法",i);
return 0;
}
输出结果
心得体会
通过三个for循环来将A,B,C借书的情况全部列出了,在做这道题慢慢懂得了什么是穷举。
知识点总结
由于本人新手一个,程序在各位眼里显得有些许繁赘,下面附上贺老师的程序给各位提供新的思路
#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;
}