本文主要是介绍C语言中白鸡问题程序错误原因分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述
我国古代的《张丘建算经》中有这样一道著名的百鸡问题:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”其意为:公鸡每只5元,母鸡每只3元,小鸡3只1元。用100元买100只鸡,问公鸡、母鸡和小鸡各能买多少只?
#include <stdio.h>
int main()
{int x, y, z;for (x=0; x<=20; x++){for (y=0; y<=33; y++){z = 100 - x - y;if (5*x + 3*y + z/3 == 100){printf("x=%d, y=%d, z=%d\n", x, y, z);}}}return 0;
}
这个程序的运行结果如下:
x=0,y=25,z=75
x=3,y=20,z=77
x=4,y=18,z=78
x=7,y=13,z=80
x=8,y=11,z=81
x=11,y=6,z=83
x=12,y=4,z=84
请问为什么会比正确答案多出三个解?不仅要找出错误和修正错误,还要求利用以前学过的知识分析错误的原因。
正确答案
原因
原因
- 小鸡应该是3的倍数,超过100
这篇关于C语言中白鸡问题程序错误原因分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!