当前位置:首页 » 编程语言 » c语言百钱百鸡ppt
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言百钱百鸡ppt

发布时间: 2022-10-17 14:00:37

c语言编写程序解决百钱白鸡问题

按照题目要求编写的解决百钱买百鸡问题的C语言程序如下

#include<stdio.h>

intmain()

{

inta,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只 ",a,b,c);

}

return0;

}

Ⅱ C语言百钱百鸡问题

因为 if((5*a+3*b+c/3==100)&&(a+b+c==100))的条件永远也不成立, if((5*a+3*b+c/3==100)&&(a+b+c==100));不会执行,所以没有输出结果

Ⅲ C语言(百钱买百鸡的问题)

百钱百鸡问题中国古代数学家张丘建在他的《算经》中提出了着名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
*题目分析与算法设计设鸡翁、鸡母、鸡雏的个数分别为cocks(x),hens(y),chicks(z),题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然cocks的值在0~20之间;
同理,hens的取值范围在0~33之间,可得到下面的不定方程: 5x+3y+z/3=100 x+y+z=100 所以此问题可归结为求这个不定方程的整数解。由程序设计实现不定方程的求解与手工计算不同。在分析确定方程中未知数变化范围的前提下,可通过对未知数可变范围的穷举,验证方程在什么情况下成立,从而得到相应的解。
程序解释
main()

{
int cocks=0,hens,chicks;
while (cocks<=19) //公鸡只数小于19
{hens=0;
while(hens<=33) //母鸡小于33只
{chicks=100-cocks-hens;
if (5.0*cocks+3.0*hens+chicks/3.0==100.0)
printf("%d %d %d\n",cocks,hens,chicks);
hens++;
}
cocks++;
}
}

*总是的进一步讨论这类求解不定方程总理的实现,各层循环的控制变量直接与方程未知数有关,且采用对未知数的取值范上穷举和组合的方法来复盖可能得到的全部各组解。能否根据题意更合理的设置循环控制条件来减少这种穷举和组合的次数,提高程序的执行效率,请读者考虑

Ⅳ C语言“百钱百鸡”,用100块买100只鸡,公鸡3元1只,母鸡5元1只,小鸡1元3只。代码我已经打好了。

你要在if语录里面加一个&& cock+hen+chick ==100哦

Ⅳ C语言 百钱百鸡

#include"stdio.h"
intmain()
{
intx,y,z,i,j,k,flag=0;
scanf("%d%d%d",&x,&y,&z);
for(i=0;i<=100/x;i++)
for(j=0;j<=100/y;j++)
for(k=0;k<=100*z;k++)
{
if(i+j+k==100&&i*x+j*y+k/z==100&&k%z==0)
{
flag=1;
printf("%d%d%d ",i,j,k);
}
}
if(flag==0)
printf("nosolution! ");
}

Ⅵ C语言中百钱百鸡的程序

#include<stdio.h>
int main()

{

int a,b,c;//各种鸡的数目
int i=0; //方程解数目
printf("百钱买百鸡,求鸡翁,鸡母,鸡雏的数目:\n");

for(a=0;a<20;a++) //外层循环控制公鸡
{
for(b=0;b<=33;b++) //内层循环控制公鸡

{
c=100-a-b; //小鸡的只数

if(c%3==0 && a*5+b*3+c/3==100)
{
//验证取c值的合理性及得到一组解的合理性
printf("%2d:鸡翁数:%2d,鸡母数:%2d,鸡雏数:%2d\n",++i,a,b,c);
}
}
}
}

Ⅶ c语言题:百钱百鸡。公鸡五元一只,母鸡三元一只,鸡雏一元三只。 若用100元买100只鸡,可各买多少

本身这个函数思想有很多问题。。。但是你问哪里错了,我就照你这个改改。
int main()
{
int a, b, c;

for(a = 0; a <= 20; a++) //公鸡最多20
for(b = 0; b <= 33;b++) //母鸡最多33(我认为你要的结果都是整型)
for(c = 0; c <= 300;c += 3) //雏鸡最多300,每次增加3,要整型!
if(a+b+c==100&&5*a+3*b+c/3==100) //不明白你本来1/c什么意思,还有,加break干嘛?有很多组合情况的

printf("gong ji %d\nmu ji %d\nji chu %d\n", a, b, c);

}

Ⅷ C语言 百钱买百鸡

#include<stdio.h>

void main()

{

int a,b,c;

for(a=0;a<20;a++)//公鸡可能的只数

for(b=0;b<(100-5*a)/3;b++)//母鸡可能的只数

{ c=100-a-b;//总数为100时,小鸡的只数

if(c%3==0 && a*5+b*3+c/3==100)//若小鸡只数是3的倍数,且总价为100

printf("a=%d b=%d c=%d ",a,b,c);

}

getch();

return 0;

}