用C语言编写,穷举法:百钱买百鸡

用C语言编写,穷举法:百钱买百鸡

在visual C++ 6.0上,用C语言编写,穷举法:百钱买百鸡

百钱买百鸡

每只大公鸡5个钱,每只母鸡3个钱,每3只小鸡1个钱,

现有100个钱想买100只鸡,如何买?有多少种方法?

打开visual C++ 6.0-文件-新建-文件-C++ Source File

题目:

/* 百钱买百鸡

每只大公鸡5个钱,每只母鸡3个钱,每3只小鸡1个钱,

现有100个钱想买100只鸡,如何买?有多少种方法?*/

输入预处理命令和主函数:

#include /*输入输出头文件*/

void main() /*空类型:主函数*/

定义变量和输出文字提示:

int x,y,z,n=0; /*定义变量的数据类型为整型*/

printf("买法:\n"); /*输出文字提示*/

确定大公鸡、母鸡、小鸡的数量:

for(x=0;x<=19;x++) /*确定大公鸡数量*/

for(y=0;y<=33;y++) /*确定母鸡数量*/

{

z=100-x-y; /*确定小鸡数量*/

判断100个钱是否买了100只鸡:

if(5*x+3*y+z/3.0==100) /*判断100个钱是否买了100只鸡*/

{

n++; /*是,计算有多少种买法*/

printf("%d %d %d\n",x,y,z); /*输出买法*/

}

}

printf("有%d种买法\n",n); /*输出有多少种买法*/

完整的源代码:

/* 百钱买百鸡

每只大公鸡5个钱,每只母鸡3个钱,每3只小鸡1个钱,

现有100个钱想买100只鸡,如何买?有多少种方法?*/

#include /*输入输出头文件*/

void main() /*空类型:主函数*/

{

int x,y,z,n=0; /*定义变量的数据类型为整型*/

printf("买法:\n"); /*输出文字提示*/

for(x=0;x<=19;x++) /*确定大公鸡数量*/

for(y=0;y<=33;y++) /*确定母鸡数量*/

{

z=100-x-y; /*确定小鸡数量*/

if(5*x+3*y+z/3.0==100) /*判断100个钱是否买了100只鸡*/

{

n++; /*是,计算有多少种买法*/

printf("%d %d %d\n",x,y,z); /*输出买法*/

}

}

printf("有%d种买法\n",n); /*输出有多少种买法*/

}