按照题目要求编写的解决百钱买百鸡问题的C语言程序如下
#include<stdio.h>int main()
{
int a,b,c
for (a = 0 a <= 20 a++)
for (b = 0 b <= 33 b++)
{
c = 100 - a - b
if (c%3==0 && 5*a + 3*b +c/3 == 100)
printf("鸡翁%d只,鸡母%d只,鸡雏%d只\n",a,b,c)
}
return 0
}
#include<stdio.h>void main(){
int cockNum //定义公鸡的数量,也就是鸡翁的数量
int henNum //定义母鸡的数量,也就是鸡母的数量
int chickenNum //定义小鸡的数量,也就是雏鸡的数量
int count = 0 //定义输出结果的编号
//公鸡100文钱能买100 / 5 = 20只
for (cockNum = 0cockNum <= 20cockNum++) {
//母鸡100文钱 能买100 / 3 = 33只,还多1文
for (henNum = 0henNum <= 33henNum++) {
//三种鸡的只数总和是100只,故只要确定公鸡和母鸡的只数,就能确定小鸡的只数
chickenNum = 100 - cockNum - henNum
//三种鸡的总价格是100文,故以此为条件分别输出所有鸡的只数
if (5 * cockNum + 3 * henNum + chickenNum / 3.0 == 100) {
count++ //输出结果的编号自增
printf("%d.公鸡的数量是:%d只,母鸡的数量是:%d只,小鸡的数量是:%d只。\n",count,cockNum,henNum,chickenNum)
}
}
}
}
#include<stdio.h>
void main()
{
int a,b,c
for(a=0a<20a++) //公鸡可能的只数
for(b=0b<(100-5*a)/3b++) //母鸡可能的只数
{ c=100-a-b //总数为100时,小鸡的只数
if(c%3==0 &&a*5+b*3+c/3==100) //若小鸡只数是3的倍数,且总价为100
printf("a=%d\tb=%d\tc=%d\n",a,b,c)
}
getch()
return 0
}