1 /* 2 问题描述: 3 小明有5本新书,要借给A、B、C三位小朋友, 4 若每人每次只能借一本,则可以有多少种不同的借法? 5 6 问题分析: 7 本题属于数学当中最常见的排列组合问题, 8 即求从5个数当中取3个不同数的排列组合的总数。 9 10 算法设计: 11 穷举法(枚举法)、三重循环 12 13 循环三要素: 14 1)循环变量的初始化 15 2)循环的条件(以循环变量为基础) 16 3)循环变量的改变(向着循环的结束变) 17 */ 18 #include "stdio.h" 19 20 int main() 21 { 22 int count = 0;//计算个数 23 printf("A,B,C 三人所选书号分别为: "); 24 for (int i = 1; i <= 5; i++)//控制A借阅图书的编号 25 { 26 for (int j = 1; j <= 5; j++)//控制B借阅图书的编号 27 { 28 for (int k = 1; k <= 5; k++)//控制C借阅图书的编号 29 { 30 if (i!=j && i!=k && k!=j) 31 { 32 count++;//计成立的个数 33 printf("A:%d B:%d C:%d ",i,j,k); 34 if (count % 4 == 0)//每一行4个编号 35 { 36 printf(" "); 37 } 38 } 39 } 40 } 41 } 42 printf("一共有%d种借法 ",count); 43 }
作者(小权权)
/*问题描述:小明有5本新书,要借给A、B、C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?
问题分析:本题属于数学当中最常见的排列组合问题,即求从5个数当中取3个不同数的排列组合的总数。
算法设计:穷举法(枚举法)、三重循环循环三要素:1)循环变量的初始化2)循环的条件(以循环变量为基础)3)循环变量的改变(向着循环的结束变)*/#include "stdio.h"
int main(){int count = 0;//计算个数printf("A,B,C 三人所选书号分别为:
");for (int i = 1; i <= 5; i++)//控制A借阅图书的编号{for (int j = 1; j <= 5; j++)//控制B借阅图书的编号{for (int k = 1; k <= 5; k++)//控制C借阅图书的编号{if (i!=j && i!=k && k!=j){count++;//计成立的个数printf("A:%d B:%d C:%d ",i,j,k);if (count % 4 == 0)//每一行4个编号{printf("
");}}}}}printf("一共有%d种借法
",count);}