c语言百钱白鸡
‘壹’ c语言中的百钱百鸡问题。
//在源程序上修改,有错误的或有新建议的在注释上写有
#include"stdio.h"//拼写错误
intmain()
{
intcocks=1,hens=1,chicks;
printf("%8s%8s%8s ","cocks","hens","chicks");//建议应该加一个换行
while(cocks<=20)
{
while(hens<=33)
{
chicks=100-hens-cocks;
if(chicks%3==0)
if((cocks*5+hens*3+chicks/3)==100)
printf("%8d%8d%8d ",cocks,hens,chicks);
hens++;
}
hens=1;
cocks++;//应该用半角的分号
}
}
‘贰’ 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语言解决百钱买鸡问题
chicks小鸡,cocks公鸡,hens
n是钱,因为1钱可买3小鸡,所以小鸡数对应钱数就是:chicks=3*n
外层遍历:买小鸡的钱,从0遍历到33(33块就99个小鸡了,明显用不了这么多,但作者为了保险吧)
内层遍历:买母鸡的个数,从0遍历到33个(33个母鸡也99块,与上面意图相同,尽量遍历到境界点,虽然有点不科学,但如果问题有解,在条件成立时加个跳出,也不碍事)
内层遍历的时候:cocks=100-hens-chicks; 公鸡=100-母鸡-小鸡,(确保三种鸡加起来是100)
if(5*cocks+3*hens+n==100&&cocks>=0) 意思是:所有的钱加起来是100并且公鸡个数不为负数
printf("%d %d %d\n",cocks,hens,chicks); //打完收工
hens++;//自增
}
n++;//自增
‘肆’ 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语言 百钱买百鸡
#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;
}
‘陆’ 百鸡问题怎么用C语言求解
用C语言解决百鸡问题的步骤如下:
1丶打开网页C语言编译环境,或者自己的安装的编译环境。
这样就解决了用C语言解决百鸡问题。
‘柒’ 百钱买鸡,公鸡一只三钱,母鸡一只两钱,鸡雏一钱三只,用一百个铜钱买一百只鸡有几种方案。用c语言做
有3种方案。
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言诞生于美国的贝尔实验室,由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普逊和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到了不断的完善。
为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的1989年,诞生了第一个完备的C标准,简称“C89”,也就是“ANSI C”,截至2020年,最新的C语言标准为2018年6月发布的“C18”。
C语言之所以命名为C,是因为C语言源自Ken Thompson发明的B语言,而B语言则源自BCPL语言。
1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。
‘捌’ C语言百元百鸡问题
穷尽法是利用计算机计算迅速的"笨"办法得到结果,利用多重循环,只要列出x,y,z的所有可能性设置循环起止值即可
公鸡x取值范围: 0只~100元/2元只
母鸡y取值范围: 0~100/3
小鸡z取值范围: 0~200只(2只2只地买,省得多出0.5元钱不好算整数100元)
#include<stdio.h>
void main() { int x,y,z;
for ( x=0;x<=100/2;x++ )
for ( y=0;y<=100/3;y++ )
for ( z=0;z<=200;z+=2 )
if ( x+y+z==100 ) if ( x*2+y*3+z/2==100 ) printf("%d %d %d\n",x,y,z);
}
‘玖’ C语言“百钱百鸡”,用100块买100只鸡,公鸡3元1只,母鸡5元1只,小鸡1元3只。代码我已经打好了。
#include<stdio.h>
voidmain()
{
intcock=0; //公鸡的数量公鸡3元一只
inthen=0; //母鸡的数量 母鸡5元一只
intchick=0; //小鸡的数量 小鸡1元三只
for(cock=0;cock<=33;cock++)//100块最多买33只公鸡
{
for(hen=0;hen<=20;hen++) //100块最多买20只母鸡
{
for(chick=0;chick<=300;chick+=3) //100块最多买300只小鸡小鸡一定是3的倍数才可以
{
if(3*cock+5*hen+chick/3==100)//100块买100只鸡1/3结果是0,这里应该用chick/3
{
printf("公鸡的数量为:%d ",cock);
printf("母鸡的数量为:%d ",hen);
printf("小鸡的数量为:%d ",chick);
}
}
}
}
}
‘拾’ 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++;
}
}
*总是的进一步讨论这类求解不定方程总理的实现,各层循环的控制变量直接与方程未知数有关,且采用对未知数的取值范上穷举和组合的方法来复盖可能得到的全部各组解。能否根据题意更合理的设置循环控制条件来减少这种穷举和组合的次数,提高程序的执行效率,请读者考虑