—、指路
01【C语言&趣味算法】百钱百鸡问题(问题简单,非初学者请忽略叭)。请注意算法的设计(程序的框架),程序流程图的绘制,算法的优化。
二、借书方案问题
有趣的地方,就在于对于算法的优化。意味无穷。go('D`o)
2.1问题描述
2.2问题分析
2.3算法设计
2.4完整code及结果
// 趣味02:借书方案 问题 #include<stdio.h> 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&&a!=c&&c!=b) /*此条件用来控制有效借阅组合*/ {printf("A:%2d B:%2d c:%2d ",a,b,c); i++; if(i%4==0)printf("\n");} /*每行最多输出4种借阅方法组合*/ printf("共有%d种有效借阅方法\n",i); /*输出有效的借阅方法总数*/ }
输出:
2.5 problem拓展,algorithm优化