练习三:用C语言计算“百鸡百钱”,问题:我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
分析:
1.总共有100钱,去买x个公鸡,y个母鸡,z个鸡雏,其中5x+3y+z/3=100钱,且 x+y+z=100只.
2.因为计算机不会像人脑一样灵活的运算,只会机械的运算,但是其运算能力远远高于我们人脑,所以我们可以利用这一个特点来用我们人脑认为最笨的方法去实现,那就是一个一个的代入进去运算.
3.由分析“2”可知,既然要代入进去一个一个的运算,那么肯定离不开“循环结构”和“选择结构”,最终都要输出出来,所以也要用“stdio.h”库中的“printf();”.
经过我们分析之后,我们就要开始写代码了,
代码如下:注意“if()”语句那里的“z%3==0”大家可以把这里删了试一试,看看结果是什么,或者大家用电脑计算器运算“77/3=?”看看等于多少,自然就会明白为何要有这个表达式了,
#include<stdio.h> int main() { int x,y,z; for(x=0;x<=20;x++) for(y=0;y<=33;y++) for(z=0;z<=100;z++) if(z%3==0 && 5*x+3*y+z/3==100 && x+y+z==100) printf("公鸡%d只,母鸡%d只,鸡雏%d只\n",x,y,z); return 0; }
代码调试截图:
评论抢沙发