注意:需要除于3.0,输出的结果才能等于100钱
《算经》中曾提出一个“百钱买百鸡”问题,(即公鸡5钱一只,母鸡3钱一只,小鸡三只一钱。问:100钱买一百只鸡,公鸡、母鸡、小鸡各多少只?)
提示:使用三个for循环,进行遍历
#define _CRT_SECURE_NO_WARNINGS 1
#pragma warning(disable:6031)
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
printf("公鸡、母鸡、小鸡的个数分别为:\n");
for (a = 1; a < 20; a++) //100最多公鸡可买100/5=20只,下同
{
for (b = 1; b < 32; b++) //(100-5)/3=31.67
{
for (c = 1; c < 100; c++) //(100-8)*3=276,276>>100,直接取100
{
if ((a * 5 + b * 3 + c * 1.0 / 3.0 == 100.00) && (a + b + c == 100))//使数据更精确,排除有100.0+钱的出现
{
printf(" a=%-4d b=%-4d c=%-4d\n", a, b, c);
}
}
}
}
return 0;
}