A. 编程 c语言100元买100只鸡,公鸡五元钱一只,母鸡三元钱一只,小鸡一元钱三
#include<stdio.h>
intmain()
{
intgj,mj,xj;//公鸡,母鸡,小鸡
for(gj=1;gj<=20;gj++)//公鸡5块钱一只,100块最多买20只
for(mj=1;mj<=33;mj++)//同理
for(xj=1;xj<=300;xj+=3)//一块钱3只,每次增量为3
if((gj+mj+xj==100)&&(gj*5+mj*3+xj/3<=100))//总量为100只鸡,且价格要在100块以内
printf("公鸡%d只,母鸡%d只,小鸡%d只 ",gj,mj,xj);
return0;
}
B. c 语言百钱买百鸡 一 次 循环 解决 求思路
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a,b,c,num,mon,i;
//a,b分别为公鸡母鸡数量,c为雏鸡数量除以3
printf("本程序用来解决百钱买百鸡的问题。\n");
system("pause");
for(c=0;c<=33;c++)
{
num=100-3*c;mon=100-c;
if((mon-3*num)%2==0)
{
a=(mon-3*num)/2;
if(a<0||a>15) continue;
b=num-a;
if(b<0||b>25) continue;
//通过两个条件分别判断a和b的值是否在指定区间(否则会产生负值和很大的值)
printf("分配:公鸡%d只,母鸡%d只,雏鸡%d
只,为百钱买百鸡的答案。\n",a,b,3*c);
}
}
system("PAUSE");
return 0;
}
C. 用c语言用时最短编写用一百元买鸡,公鸡3元一只母鸡5元一只小鸡一元三只
三个循环嵌套就行了,小鸡的迭代是每次增3
#include<stdio.h>
intmain()
{
intn3=33,n5=20,n=300;//分别表示公鸡母鸡小鸡最大可能个数
inti,j,k;
for(i=0;i<=n3;i++)
{
for(j=0;j<=n5;j++)
{
for(k=0;k<=n;k+=3)
{
if(i*3+j*5+k/3==100)
printf("公鸡:%d只,母鸡:%d只,小鸡:%d只
",i,j,k);
}
}
}
return0;
}
D. 100块钱买100只鸡,其中小鸡0.5元/一只,母鸡2元/一只,公鸡3元/一只,用for循环编程实
//一百块钱,买一百只鸡。公鸡:5元 母鸡:3 小鸡:一块3只
#include<stdio.h>
main()
{
int a,b,c;
a=1,b=1,c=3;
for(c=3;c<100;c=c+3)
{
for(a=1;a<20;a++)
{
for(b=1;b<33;b++)
{
if ((5*a+3*b+c/3==100)&&(a+b+c==100))
printf("公鸡有%d只母鸡有%d只小鸡有%d只\n",a,b,c);
}
}
}
}
这是一模一样的题,你可以参考一下
求采纳。。。
E. c语言n钱买n鸡问题
先把我改过的代码贴给你:
#include<stdio.h>
constintWeng=15;
constintMu=9;
constintChu=1;
intmain()
{
intiGold,iWeng,iMu,iChu,iFangAn=0,t=0;
scanf("%d",&iGold);
for(iChu=3;iChu<=iGold-1;iChu+=3){
for(iMu=1;iMu<=iGold-iChu-1;iMu++){
iWeng=iGold-iChu-iMu;
if(iGold*3==iWeng*Weng+iMu*Mu+iChu*Chu)
iFangAn++;
}
}
printf("%d",iFangAn);
return0;
}
你的问题在于那个判断语句。总金、鸡翁价、鸡母价都应是原价的3倍。
至于循环,我改成了雏鸡3倍递增,因为这个题目不存在浮点数,其他的问题都不大。
F. 计算机c语言,公鸡每只5元,母鸡每只3元,小鸡一元三只,用100元买一百只,求出公鸡、小鸡、母鸡各多少只
#include<stdio.h>
int main()
{
int x,y,z; //x公鸡数,y母鸡数,z小鸡数
for(x=1;x<=20;x++) //100最多买20公鸡
for(y=1;y<=34;y++) //100最多买34母鸡
for(z=1;z<=100;z++) //最多只能有100小鸡
if(x+y+z==100&&5*x+3*y+z/3==100&&z%3==0)
{
printf("公鸡为:%d ",x);
printf("母鸡为:%d ",y);
printf("小鸡为:%d ",z);
}
while(1);
return 0;
}
(6)for循环买鸡c语言扩展阅读:
鸡兔同笼,是中国古代着名典型趣题之一,记载于《孙子算经》之中。鸡兔同笼问题,是小学奥数的常见题型。
"鸡兔同笼"是一类有名的中国古算题。最早出现于《孙子算经》中。许多小学算术应用题都可以转化成这类问题,或者用解它的典型解法--"假设法"来求解。
G. 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++;
}
}
*总是的进一步讨论这类求解不定方程总理的实现,各层循环的控制变量直接与方程未知数有关,且采用对未知数的取值范上穷举和组合的方法来复盖可能得到的全部各组解。能否根据题意更合理的设置循环控制条件来减少这种穷举和组合的次数,提高程序的执行效率,请读者考虑
H. c语言百鸡百钱问题算法中的这两个for循环该如何理解
就是第一次x=0,执行for(y=0;y<33;y++)循环;直到y=33退出此循环;
再执行x=1时的……
也就是一个嵌套循环!
I. c语言程序设计答案 100元买100只鸡,公鸡5元一只,母鸡3元一只,小鸡1元3只,该怎么买
写个三重循环来寻找购买方案。
#include<stdio.h>
intmain(void){
inti,j,k,count=0;
for(i=1;i<=100/5;i++)/*公鸡*/
for(j=1;j<=100/3;j++)/*母鸡*/
for(k=1;k<=100*3;k++)/*小鸡*/
if(i*5+j*3+k==100&&i+j+k*3==100){
count++;
printf("方案%d:%d只公鸡,%d只母鸡,%d只小鸡。 ",count,i,j,k*3);
printf("100只鸡=%d+%d+%d ",i,j,k*3);
printf("100元钱=%d×5+%d×3+%d/3=%d+%d+%d ",i,j,k*3,i*5,j*3,k);
printf(" ");
}
}
运行结果
J. 第二题,买小鸡问题,c语言如何编程
公鸡母鸡小鸡三重for循环即可。
代码:
#include<stdio.h>
intmain()
{
intcock,hen,chick;
for(cock=1;cock*5<100;cock++)
{
for(hen=1;hen*3<100;hen++)
{
for(chick=1;chick<100;chick++)
{
if(cock*5+hen*3+chick==100)
{
printf("公鸡%d只,母鸡%d只,小鸡%d只。 ",cock,hen,chick);
}
}
}
}
return0;
}